黑马旅游网总结

  • Post author:
  • Post category:其他





前言

`黑马旅游网网站进行编写前台和后台内容,在其中遇到的一些问题,以及解决思路。




一、问题

1、前端传递数据回后端

2、多条数据从后端传递回前端

3、前端页面中ajax方法显示数据

4、servlet方法抽取



二、解决

1、通过ajax方法调用servlet中的方法。

 $.get("hotel/pageQuery",function (pb) {


                //2.列表数据展示
                var route_lis="";
                for (var i = 0; i <pb.length ; i++) {
                    //获取{rid:1,rname:"xxx"}
                    var route=pb[i];
                    route_lis+='<tr class="gradeX">\n' +
                        '<td>'+i+'</td>\n' +
                        '<td>'+route.rname+'</td>\n' +
                        '<td>'+route.price+'\n' +
                        '</td>\n' +
                        '<td>'+route.routeIntroduce+'</td>\n' +
                        '<td class="center">'+route.rflag+'</td>\n' +
                        '<td class="center">'+route.isThemeTour+'</td>\n' +
                        '<td class="center"><a onclick="deleteh('+route.rid+')">删除</a>' +'/'+'<a onclick="updateh('+route.rid+')" >修改</a></td>'
                        '</tr>';

                }
                $("#display").html(route_lis);

$.get(“hotel/pageQuery”):Ajax调用servlet方法,获取到值。

2、

//4.将pageBean对象序列化为json,返回
        writeValue(pb,response);

通过将需要传递的数据通过writeValue方法序列化即可,pb是我们传递的数据,response是servlet自带的一个响应。

3、

 for (var i = 0; i <pb.length ; i++) {
                    //获取{rid:1,rname:"xxx"}
                    var route=pb[i];
                    route_lis+='<tr class="gradeX">\n' +
                        '<td>'+i+'</td>\n' +
                        '<td>'+route.rname+'</td>\n' +
                        '<td>'+route.price+'\n' +
                        '</td>\n' +
                        '<td>'+route.routeIntroduce+'</td>\n' +
                        '<td class="center">'+route.rflag+'</td>\n' +
                        '<td 

通过获取到的pb对象,该对象接收了从后端传递回来的数据,可以通过对其进行for循环,进行拉取该对象中的数据。

4、想要抽取servlet方法,其实就是定义一个继承了HttpServlet 的servlet然后不能让它有被外界访问。

然后在将自己定义的其他servlet进行继承那个继承了HttpServlet的servlet。

package cn.itcast.travel.servlet;


import cn.itcast.travel.domain.Route;
import cn.itcast.travel.service.HotelService;
import cn.itcast.travel.service.impl.HotelServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/*
    张昊(java文件)
 
*/
@WebServlet("/hotel/*")
public class HotelServlet extends BaseServlet {
    private HotelService hotelService=new HotelServiceImpl();
    /*

    查询

    */
    public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //3.调用service查询PageBean对象
        List<Route> pb = hotelService.pageQuery();
        //4.将pageBean对象序列化为json,返回
        writeValue(pb,response);

    }
    /*

    删除

    */
    public void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //获取rid
        String rid=request.getParameter("rid");
        //调用service进行删除

        hotelService.delete(rid);

    }
    /*

    添加

    */
    public void add(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //获取数据
        String rname=new String(request.getParameter("rname").getBytes("iso-8859-1"),"utf-8");
        String price=request.getParameter("price");
        String routeIntroduce=new String(request.getParameter("routeIntroduce").getBytes("iso-8859-1"),"utf-8");
        String rflag=request.getParameter("rflag");
        String isThemeTour=request.getParameter("isThemeTour");
        //调用service进行添加

        hotelService.add(rname,price,routeIntroduce,rflag,isThemeTour);




    }
    /*

    修改

    */
    public void updata(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //获取数据
        String rid=request.getParameter("rid");
        String rname=new String(request.getParameter("rname").getBytes("iso-8859-1"),"utf-8");
        String price=request.getParameter("price");
        String routeIntroduce=new String(request.getParameter("routeIntroduce").getBytes("iso-8859-1"),"utf-8");
        String rflag=request.getParameter("rflag");
        String isThemeTour=request.getParameter("isThemeTour");
        //调用service进行添加

        hotelService.updata(rid,rname,price,routeIntroduce,rflag,isThemeTour);

    }



}

就可以在这个servlet中进行定义自己想要的方法。




版权声明:本文为bankser原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。