客车网上售票系统03

一、今日完成任务

  前台页面中的车票查询

  功能要求:加载页面是查询车票信息,发车时间要大于当前系统时间,并且根据发车时间顺序排列。输入出发地和目的地,页面不刷新显示对应车票。

二、核心源码

  使用知识点:ajax+json,使用到的jar包fastjson-1.2.13.jar

  (1)查询全部车票

$(function(){
        $.post("../../../userServlet?action=ticketAll",function(data){
            //清除数据
            $("#list").empty();
            $(data).each(function(index,ticket){
                $("#list").append(
                    "<tr><td>"+ticket.carnum+"</td>"
                    +"<td>"+ticket.startLocal+"</td>"
                    +"<td>"+ticket.arriveLocal+"</td>"
                    +"<td>"+ticket.beginTime+"</td>"
                    +"<td>"+ticket.endTime+"</td>"
                    +"<td>"+ticket.price+"</td>"
                    +"<td>"+ticket.number+"</td>"
                    +"<td>"+"预定"+"</td></tr>"
                );
            });
        },"json");    
    });
View Code
protected void ticketAll(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        List<Ticket> list = ud.showAll();
        resp.getWriter().print(JSONArray.toJSONString(list));;
    }
View Code
public List<Ticket> showAll() {
        List<Ticket> list = new ArrayList<Ticket>();
        //查询发车时间大于当前时间
        String sql = "select * from ticket where beginTime > now() and state = 1 order by beginTime";
        Object[] obj = {};
        ResultSet rs = DBUtil.select(sql, obj);
        try {
            while(rs.next()){
                int id = rs.getInt("id");
                String carnum = rs.getString("carnum");
                String startLocal = rs.getString("startLocal");
                String arriveLocal = rs.getString("arriveLocal");
                int price = rs.getInt("price");
                String beginTime = rs.getString("beginTime");
                String endTime = rs.getString("endTime");
                int number = rs.getInt("number");
                Ticket t = new Ticket(id, carnum, startLocal, arriveLocal, price, beginTime, endTime, number);
                list.add(t);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
View Code

  (2)根据出发地,目的地查询

function find(){
        var startLocal = $("#startLocal").val();
        var arriveLocal = $("#arriveLocal").val();
        $.post("../../../userServlet?action=ticketShow",{startLocal:startLocal,arriveLocal:arriveLocal},function(data){
            //清除数据
            $("#list").empty();
            $(data).each(function(index,ticket){
                $("#list").append(
                    "<tr><td>"+ticket.carnum+"</td>"
                    +"<td>"+ticket.startLocal+"</td>"
                    +"<td>"+ticket.arriveLocal+"</td>"
                    +"<td>"+ticket.beginTime+"</td>"
                    +"<td>"+ticket.endTime+"</td>"
                    +"<td>"+ticket.price+"</td>"
                    +"<td>"+ticket.number+"</td>"
                    +"<td>"+"预定"+"</td></tr>"
                );
            });
        },"json");        
    }
View Code
protected void ticketShow(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        String startLocal = req.getParameter("startLocal");
        String arriveLocal = req.getParameter("arriveLocal");
        List<Ticket> list = ud.ticketShow(startLocal,arriveLocal);
        resp.getWriter().print(JSONArray.toJSONString(list));
    }
View Code
public List<Ticket> ticketShow(String startLocal, String arriveLocal) {
        List<Ticket> list = new ArrayList<Ticket>();
        String sql = "select * from ticket where startLocal=? and arriveLocal=? and beginTime > now() and state = 1";
        Object[] obj = {startLocal,arriveLocal};
        ResultSet rs = DBUtil.select(sql, obj);
        try {
            while(rs.next()){
                int id = rs.getInt("id");
                String carnum = rs.getString("carnum");
                int price = rs.getInt("price");
                String beginTime = rs.getString("beginTime");
                String endTime = rs.getString("endTime");
                int number = rs.getInt("number");
                Ticket t = new Ticket(id, carnum, startLocal, arriveLocal, price, beginTime, endTime, number);
                list.add(t);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
View Code

三、页面展示

 

 四、遇到的问题

  ajax+json的使用不熟练

五、燃尽图

 

posted @ 2020-07-22 17:42  DX-东旭  阅读(150)  评论(0)    收藏  举报