客车网上售票系统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"); });
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));; }
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; }
(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"); }
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)); }
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; }
三、页面展示


四、遇到的问题
ajax+json的使用不熟练
五、燃尽图


浙公网安备 33010602011771号