基于javaweb+mysql的jsp+servlet火车票预订系统(java+jdbc+jsp+servlet+html+mysql)

基于javaweb+mysql的jsp+servlet火车票预订系统(java+jdbc+jsp+servlet+html+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的JSP+Servlet火车票预订系统(java+jdbc+jsp+servlet+html+mysql)

一、项目运行 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP + Servlert + html+ css + JavaScript + JQuery + Ajax 等等;


/**
 * Servlet implementation class CreateStationServlet
 */
public class CreateStationServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public CreateStationServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String stationName = request.getParameter("stationName");
		System.out.println(stationName);
		String level = request.getParameter("level");
		String describe = request.getParameter("describe");
		HttpSession session = request.getSession();
		String admin = (String) session.getAttribute("admin");
		if(admin == null)
			System.out.println("请以管理员登陆");
		else{
		StationDAO stationDao = DAOFactory.getIStationDAOInstance();
		
		 try {
			if(stationDao.findStation(stationName).size()==0)
			{
				Station station = new Station();
				station.setName(stationName);
				station.setLevel(level);
				station.setDescribe(describe);
				StationDAO stationDao1 = DAOFactory.getIStationDAOInstance();
				stationDao1.doCreateStation(station);
			user = userDao.findById(username);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
			System.out.println(user);
			user.setPhoneNumber(phoneNumber);
			user.setMail(mail);
			user.setName(name);
			user.setIdCard(idCard);
			user.setIdType(idType);
			user.setBirthday(Birthday);
			System.out.println(user);
			try {
				UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
				if(userDao1.doUpdate(user))
				{
				System.out.println("修改成功");
				request.getRequestDispatcher("ChangeInfoSuccess.jsp").forward(request, response);
				UserDAO userDao2 = DAOFactory.getIUserDAOInstance();
				
				User user1 = new User();
				
					user1 = userDao2.findById(username);
					System.out.println(user1);
					session.setAttribute("User", user1);
				}
				else 
					System.out.println("修改失败");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

			Long routeid = Long.parseLong(routeId);
			String fromStation = request.getParameter("fromStation");
			String toStation = request.getParameter("toStation");
//			SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH-mm-ss" ); 
			String departureTime= request.getParameter("departureTime"); 
//			java.util.Date dTime = null; 
//			try { 
//			dTime = sdf.parse(departureTime); 
//			} catch (ParseException e) { 
//			e.printStackTrace(); 
//			}
//			java.sql.Date dpTime = new java.sql.Date(dTime.getTime());
			RouteDAO routeDao = DAOFactory.getIRouteDAOInstance();
			try {
				if(routeDao.doDeleteRoute(routeid))
				{
					System.out.println("删除成功");
					RequestDispatcher rd = request.getRequestDispatcher("adRoute.jsp");
					rd.forward(request, response);
				}
				else
				{
					System.out.println("删除失败");
				}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
//	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
		response.setContentType("text/html;charset=utf-8");
	}

}


/**
 * Servlet implementation class RefundTicketServlet
 */
public class RefundTicketServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RefundTicketServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//response.getWriter().append("Served at: ").append(request.getContextPath());
		HttpSession session = request.getSession(); 
		String username = (String) session.getAttribute("user");
		User user = (User) session.getAttribute("User");
		if(username == null )
			System.out.println("请先登录");
		else{
			String ticketId = request.getParameter("ticketId");
			Long ticketid = Long.parseLong(ticketId);
			
		
		System.out.println(departureTime+ " " +fromStation+toStation );
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
		
		//String aa= request.getParameter("Date"); 
		java.util.Date timeDate = null; 
		try { 
		timeDate = sdf.parse(departureTime); 
		} catch (ParseException e) { 
		e.printStackTrace(); 
		}
		java.sql.Date currentDate = new java.sql.Date(timeDate.getTime());
		
		List<Route> list = null ;//new ArrayList<Route>();
		
		RouteDAO routeDao = DAOFactory.getIRouteDAOInstance();
		try {
			list = routeDao.findRoute(fromStation,toStation,currentDate);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			
		}
		System.out.println(list.size());
		for(int i = 0 ;i < list.size();i++)
			System.out.println(list.get(i));
		request.setAttribute("list", list);
		 request.getRequestDispatcher("adRoute.jsp").forward(request, response);
	}
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	response.setContentType("text/html;charset=utf-8");
//		//PrintWriter out = response.getWriter();
//		this.doGet(request, response);
	}

}


/**
 * Servlet implementation class ADQueryTicketServlet
 */
public class ADQueryTicketServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public ADQueryTicketServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
		String routeType = request.getParameter("routeType");
		String departureTime = request.getParameter("departureTime");
		System.out.println(departureTime+ " " + routeType );

			
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" ); 
			java.util.Date timeDate = null; 
			try { 
			timeDate = sdf.parse(departureTime); 
			} catch (ParseException e) { 
			e.printStackTrace(); 
			}
			java.sql.Date currentDate = new java.sql.Date(timeDate.getTime());
			
			List<Ticket> list = new ArrayList<Ticket>();
			TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
			try {
				list = ticketDao.findByTime(currentDate);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				
				 try {
					userDao1.doUpdate(user);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				 OrderDAO orderDao1 = DAOFactory.getIOrderDAOInstance();
				 try {
					orderDao1.doUpdateOrder(order);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				 
				
				 session.removeAttribute("route");
				 session.removeAttribute("seatType");
				 request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
			}
			else
			{
				System.out.println("余额不足");
				request.getRequestDispatcher("BuyError.jsp").forward(request, response);
				
			}
			
			}
		}
	

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

//		else{
			String routeId = request.getParameter("routeId");
			Long routeid = Long.parseLong(routeId);
			String fromStation = request.getParameter("fromStation");
			String toStation = request.getParameter("toStation");
//			SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH-mm-ss" ); 
			String departureTime= request.getParameter("departureTime"); 
//			java.util.Date dTime = null; 
//			try { 
//			dTime = sdf.parse(departureTime); 
//			} catch (ParseException e) { 
//			e.printStackTrace(); 
//			}
//			java.sql.Date dpTime = new java.sql.Date(dTime.getTime());
			RouteDAO routeDao = DAOFactory.getIRouteDAOInstance();
			try {
				if(routeDao.doDeleteRoute(routeid))
				{
					System.out.println("删除成功");
					RequestDispatcher rd = request.getRequestDispatcher("adRoute.jsp");
					rd.forward(request, response);
				}
				else
				{
					System.out.println("删除失败");
				}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
//	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
		response.setContentType("text/html;charset=utf-8");
	}

}

				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				 OrderDAO orderDao1 = DAOFactory.getIOrderDAOInstance();
				 try {
					orderDao1.doUpdateOrder(order);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				 session.removeAttribute("route");
				 session.removeAttribute("seatType");
				 request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
				
			}
			else if(seatType.equals("特等座")&&user.getBalance()>=route.getSpPrice())
			{
				OrderDAO orderDao = DAOFactory.getIOrderDAOInstance();
				
				Order order = new Order();
				 try {
					order = orderDao.findByOrderId(orderId);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				java.sql.Timestamp lastUpdateDate = new java.sql.Timestamp(System.currentTimeMillis());
				java.sql.Timestamp payDate = new java.sql.Timestamp(System.currentTimeMillis());
				 order.setStatus("已付款");
				 order.setPayTime(payDate);
				 order.setLastUpdateDate(lastUpdateDate);
				 order.setPrice(route.getSpPrice());
				 int balance =user.getBalance() -route.getSpPrice();
				 user.setBalance(balance);
				 UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
				 try {
					userDao1.doUpdate(user);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				 OrderDAO orderDao1 = DAOFactory.getIOrderDAOInstance();
				 try {
					orderDao1.doUpdateOrder(order);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				 
				 session.removeAttribute("route");
				 session.removeAttribute("seatType");
				 request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
		try {
			if(userDao1.doCreate(user))
			{
				System.out.println("注册成功");
				response.sendRedirect("adUser.jsp");
			}
			else
			{
				System.out.println("注册失败");
			}
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
		}

	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

/**
 * Servlet implementation class LoginServlet
 */
public class RegisterServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

/**
 * Servlet implementation class QueryTicketServlet
 */
public class QueryTicketServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public QueryTicketServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		///response.getWriter().append("Served at: ").append(request.getContextPath());
		HttpSession session = request.getSession(); 
		String username = (String) session.getAttribute("user");
		User user = (User) session.getAttribute("User");
		System.out.println(username);
		if(username == null)
		{
			System.out.println("请先登录");
			response.sendRedirect("Login.jsp");
		}
			
		else{
}

/**
 * Servlet implementation class ChangePasswordServlet
 */
public class UpdateProfileServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public UpdateProfileServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		String phoneNumber = request.getParameter("phoneNumber");
		String mail = request.getParameter("mail");
		String name = request.getParameter("name");
		String idCard = request.getParameter("idCard");
		System.out.println(idCard); 
		String idType = request.getParameter("idType");
		String birthday = request.getParameter("birthday");
		SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" ); 
		java.util.Date timeDate = null; 
		try { 
		timeDate = sdf.parse(birthday); 

/**
 * Servlet implementation class CreateOrderServlet
 */
public class CreateOrderServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public CreateOrderServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
//		response.getWriter().append("Served at: ").append(request.getContextPath());
		HttpSession session = request.getSession(); 
		String username = (String) session.getAttribute("user");
	    System.out.println(username);
		if(username == null )
			System.out.println("请先登录");
		else{
			
			//String routeId = request.getParameter("routeId");
		    System.out.println(user.getName());
		    if(user.getPassword().equals(password))
		    {
//		    	Date now = new Date();
//			SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
//			java.util.Date timeDate = null; 
//			try { 
//			timeDate = sdf.format(now); 
//			} catch (ParseException e) { 
//			e.printStackTrace(); 
//			}
			//java.sql.Date departureTime = new java.sql.Date(timeDate.getTime());
			
			String status = "待付款";
//			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
			
			java.sql.Timestamp createDate= new java.sql.Timestamp(System.currentTimeMillis());
			//System.out.println(sdf.parse(sdf.format(createDate)));
//			System.out.println(departureTime);
			int userId = user.getId();
			Long userid =(long)userId;
			System.out.println(user.getId());
			OrderDAO  orderDao = DAOFactory.getIOrderDAOInstance();
			Order order = new Order();
			order.setStatus(status);
			order.setCreateDate(createDate);
			order.setLastUpdateDate(createDate);
			order.setUserId(userid);
			order.setRouteId(route.getId());
			
			try {
				orderDao.doCreateOrder(order);
				OrderDAO  orderDao1 = DAOFactory.getIOrderDAOInstance();
				order = orderDao1.findByMaxOrderId();
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				
			}
			session.setAttribute("orderId",order.getId() ); //可能获取空的ID
//			session.setAttribute("routeName", routeName);
//			session.setAttribute("trainType", trainType);
				 UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
				 try {
					userDao1.doUpdate(user);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				 OrderDAO orderDao1 = DAOFactory.getIOrderDAOInstance();
				 try {
					orderDao1.doUpdateOrder(order);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				 session.removeAttribute("route");
				 session.removeAttribute("seatType");
				 request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
				
			}
			else if(seatType.equals("特等座")&&user.getBalance()>=route.getSpPrice())
			{
				OrderDAO orderDao = DAOFactory.getIOrderDAOInstance();
				
				Order order = new Order();
				 try {
					order = orderDao.findByOrderId(orderId);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				java.sql.Timestamp lastUpdateDate = new java.sql.Timestamp(System.currentTimeMillis());
				java.sql.Timestamp payDate = new java.sql.Timestamp(System.currentTimeMillis());
				 order.setStatus("已付款");
				 order.setPayTime(payDate);
				 order.setLastUpdateDate(lastUpdateDate);
				 order.setPrice(route.getSpPrice());
				 int balance =user.getBalance() -route.getSpPrice();
				 user.setBalance(balance);
				 UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
				 try {
					userDao1.doUpdate(user);
				} catch (Exception e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				 OrderDAO orderDao1 = DAOFactory.getIOrderDAOInstance();
						}
						else
							System.out.println("更新订单失败");
					}
						
					else
						System.out.println("更新余额失败");
					
					
				}
				
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

/**
 * Servlet implementation class LoginServlet
 */
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
		String hardSeatCount = request.getParameter("hardSeatCount");
		String hPrice = request.getParameter("hPrice");
		String noSeatCount = request.getParameter("noSeatCount");
		String nPrice = request.getParameter("nPrice");
		String remark = request.getParameter("remark");
		//String fromStationId = request.getParameter("fromStationId");
		//String toStationId = request.getParameter("toStationId" );
		Integer bS = Integer.parseInt(businessSeatCount);
		Integer spS = Integer.parseInt(specialSeatCount);
		Integer sfS = Integer.parseInt(softSeatCount);
		Integer hS = Integer.parseInt(hardSeatCount);
		Integer nS = Integer.parseInt(noSeatCount);
		Integer bP = Integer.parseInt(bPrice);
		Integer spP = Integer.parseInt(spPrice);
		Integer sfP = Integer.parseInt(sfPrice);
		Integer hP = Integer.parseInt(hPrice);
		Integer nP = Integer.parseInt(nPrice);
		//Long fSId = Long.parseLong(fromStationId);
		//Long tSId = Long.parseLong(toStationId);
		
		Route route = new Route();
		
		RouteDAO routeDao = DAOFactory.getIRouteDAOInstance();
		
		route.setName(routeName);
		route.setType(routeType);
		route.setFromStation(fromStation);
		route.setToStation(toStation);
		route.setDepartureTime(Timestamp.valueOf(departureTime));
		route.setArrivalTime(Timestamp.valueOf(arrivalTime));
		route.setBusinessSeatCount(bS);
		route.setbPirce(bP);
		route.setSpecialSeatCount(spS);
		route.setSpPrice(spP);
		route.setSoftSeatCount(sfS);
		route.setSfPrice(sfP);
		route.setHardSeatCount(hS);
		route.sethPrice(hP);
		route.setNoSeatCount(nS);
		route.setnPrice(nP);

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值