客車網上售票系統03
阿新 • • 發佈:2020-07-22
一、今日完成任務
前臺頁面中的車票查詢
功能要求:載入頁面是查詢車票資訊,發車時間要大於當前系統時間,並且根據發車時間順序排列。輸入出發地和目的地,頁面不重新整理顯示對應車票。
二、核心原始碼
使用知識點:ajax+json,使用到的jar包fastjson-1.2.13.jar
(1)查詢全部車票
$(function(){ $.post("../../../userServlet?action=ticketAll",function(data){ //清除資料 $("#list").empty(); $(data).each(function(index,ticket){ $(View Code"#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));; }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的使用不熟練
五、燃盡圖