基于javaweb+mysql的jsp+servlet火车票售票系统(java+servlet+mysql+jsp)

基于javaweb+mysql的jsp+servlet火车票售票系统(java+servlet+mysql+jsp)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

基于javaweb的JSP+Servlet火车票售票系统(java+servlet+mysql+jsp)

管理员:

admin 123456

用户:

user1 123456

user2 123456

		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		
		String train_num = request.getParameter("train_num");
		if(train_num==null || "".equals(train_num.trim())){
			out.close();
			return;
		}
		TrainService trainService = new TrainServiceImpl();
		Train train  = trainService.getTrain(train_num);  //根据车次得到列车信息
		
		if(train == null ){
			out.close();
			return;
		}
		
		String stations = train.getStation();  //得到车站字符串
		String aTime = train.getA_time();		//到站车时间字符串
		String gTime = train.getG_time();		//发车时间字符串
		String prices = train.getPrice(); 		//票价字符串
		
		//切割字符串,得到车站数组,发车时间数组,到站时间数组以及票价数组
		String []station = stations.split("/");
		String []a_time = aTime.split("/");
		String []g_time = gTime.split("/");
		String []price = prices.split("/");
		int length = station.length;
		//封装参数
		request.setAttribute("train", train);
		request.setAttribute("station",station);
		request.setAttribute("a_time", a_time);
		request.setAttribute("g_time", g_time);
		request.setAttribute("price",price);
		request.setAttribute("length",length);
		request.getRequestDispatcher("/files/listTrain.jsp").forward(request, response);
	}

}


	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		
		//接收订票信息
		String user_id = request.getParameter("user_id");
		String train_num = request.getParameter("train_num");
		String leaveTime = request.getParameter("leaveTime");
		String start = request.getParameter("origin");
		String end = request.getParameter("terminus");
		String g_time = request.getParameter("g_time");
		String a_time = request.getParameter("a_time");
		String price = request.getParameter("price");
		
		
		Order order = new Order();
		order.setUser_id(Integer.parseInt(user_id));
		order.setTrain_num(train_num);
		order.setLeaveTime(leaveTime);
		order.setOrigin(start);
		order.setTerminus(end);
		order.setG_time(g_time);
		order.setA_time(a_time);
		order.setPrice(Float.parseFloat(price));
		
		OrderService orderService = new OrderServiceImpl();
		
		int remainder1 = orderService.getRemainderByTrainNum(train_num);//余票数
		int remainder2 = remainder1-1; //余票减1
		
		int result = orderService.addOrder(order);
		int result2 = orderService.updateTrain(remainder2,train_num);
		
		if(result>0 && result2>0){
			out.close();
		}else{

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//处理请求乱码
		request.setCharacterEncoding("utf-8");
		//处理响应乱码
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		
		//接收模糊查询参数,用于分页查询
		String username = request.getParameter("username");  //用户名
		String status = request.getParameter("status");  //用户身份
		//封装参数
		User condition = new User();
		if(username!=null && !"".equals(username.trim())){
			condition.setUsername(username);
		}
		if(status!=null && !"".equals(status.trim())){
			condition.setStatus(Integer.parseInt(status));
		}
		
		PageBean pb = new PageBean();  //页面显示条数固定
		//接收分页查询相关参数
		String currentPage = request.getParameter("currentPage");  //当前页
		if(currentPage!=null && !"".equals(currentPage.trim())){
			pb.setCurrentPage(Integer.parseInt(currentPage));   //设置当前页
		}
		//调用userService层方法
		UserService userService = new UserServiceImpl();
		List<User> list = userService.getUserByPage(pb, condition);
		//将数据存入request并进行转发
		request.setAttribute("list",list);
		request.setAttribute("pb",pb);
		request.setAttribute("condition", condition);
		
		request.getRequestDispatcher("/files/listuser.jsp").forward(request, response);
	}


}
/**
 * 车次录入
 */

public class AddTrainServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		
		//接收参数
		String train_num = request.getParameter("train_num");
		String station = request.getParameter("station");
		String a_time = request.getParameter("a_time");
		String g_time = request.getParameter("g_time");
		String price = request.getParameter("price");
		String amount = request.getParameter("amount");
		String remainder = request.getParameter("remainder");

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//处理乱码
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		//接收参数
		String id = request.getParameter("userId");
		String username = request.getParameter("username");  //用户名
		String name = request.getParameter("name");
		String sex = request.getParameter("sex");
		String country = request.getParameter("country");
		String papers_type = request.getParameter("papers_type");
		String papers_num = request.getParameter("papers_num");
		String phone = request.getParameter("phone");
		String email = request.getParameter("email");
		String address = request.getParameter("address");
		
		//封装参数
		User user = new User();
		user.setId(Integer.parseInt(id));
		user.setUsername(username);
		user.setName(name);
		user.setSex(sex);
		user.setCounty(country);
		user.setPapers_type(papers_type);
		user.setPapers_num(papers_num);
		user.setPhone(phone);
		user.setEmail(email);
		user.setAddress(address);
		
		//调用userService层方法进行修改
		UserService userService = new UserServiceImpl();
		int result = userService.updateUserByConsumer(user);
		if(result>0){
			out.close();
		}else{
			out.close();
		}
	}

}
		}
		
	}
}

public class LoginServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//处理响应乱码
		response.setContentType("text/html;charset=UTF-8");
		//处理请求乱码
		request.setCharacterEncoding("utf-8");
		
		//接收用户名和密码
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		//服务器端验证
		if(username==null || "".equals(username.trim())){
			response.sendRedirect("login.jsp");
			return;
		}
		if(password == null || "".equals(password.trim())){
			response.sendRedirect("login.jsp");
			return;
		}
		
		//调用service层方法进行登陆验证
		UserService userService = new UserServiceImpl();
		User user = userService.getUserByUsername(username);
		boolean result = userService.checkLogin(username, password);
		String alert = "用户名或密码不正确,请重新登陆!";
		HttpSession session = request.getSession();
		if(result){
			int status = user.getStatus(); //权限控制
		String papers_num = request.getParameter("papers_num");
		String phone = request.getParameter("phone");
		String email = request.getParameter("email");
		String address = request.getParameter("address");
		
		//封装参数
		User user = new User();
		user.setId(Integer.parseInt(id));
		user.setUsername(username);
		user.setName(name);
		user.setSex(sex);
		user.setCounty(country);
		user.setPapers_type(papers_type);
		user.setPapers_num(papers_num);
		user.setPhone(phone);
		user.setEmail(email);
		user.setAddress(address);
		
		//调用userService层方法进行修改
		UserService userService = new UserServiceImpl();
		int result = userService.updateUserByConsumer(user);
		if(result>0){
			out.close();
		}else{
			out.close();
		}
	}

}

/**
 *用户管理,获得用户信息 
 */
public class GetUsersServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			return;
		}
		
		//调用service层方法进行退票
		OrderService orderService = new OrderServiceImpl();
		int remainder1 = orderService.getRemainderByTrainNum(train_num);//余票数
		int remainder2 = remainder1+1; //余票减1 
		
		int result1 = orderService.deleteOrder(Integer.parseInt(order_id));
		int result2 = orderService.updateTrain(remainder2, train_num);
		
		if(result1>0 && result2>0){
			out.close();
		}else{
			out.close();
		}
	}

}
/**
 * 根据order_id得到对应的订单信息
 */

public class GetOrderServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);

public class GetMyOrderServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		//接收模糊查询参数
		String train_num = request.getParameter("train_num");
		//封装参数
		Order condition = new Order();
		if(train_num!=null && !"".equals(train_num.trim())){
			condition.setTrain_num(train_num);
		}
		
		PageBean pb = new PageBean();  //页面显示条数固定
		//接收分页查询相关参数
		String currentPage = request.getParameter("currentPage");  //当前页
		if(currentPage!=null && !"".equals(currentPage.trim())){
			pb.setCurrentPage(Integer.parseInt(currentPage));   //设置当前页
		}
		
		String user_id = request.getParameter("user_id");
		OrderService orderService = new OrderServiceImpl();
		List<Order> list = orderService.getMyOrder(pb, condition, Integer.parseInt(user_id));
		
		if(list.size()<=0 ){
			out.close();
			return;
		}
		
		request.setAttribute("list", list);
		request.setAttribute("pb",pb);
		request.setAttribute("condition", condition);
		request.getRequestDispatcher("/files/myOrders.jsp").forward(request, response);
	}

}

public class RegisterServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//处理请求以及响应乱码
		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		//接收参数
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String name = request.getParameter("name");
		String sex = request.getParameter("sex");
		String country = request.getParameter("country");
		String papers_type = request.getParameter("papers_type");
		String papers_num = request.getParameter("papers_num");
		String phone = request.getParameter("phone");
		String email = request.getParameter("email");
		String address = request.getParameter("address");
		//封装参数
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		user.setName(name);
		user.setSex(sex);
		user.setCounty(country);
		user.setPapers_type(papers_type);
		user.setPapers_num(papers_num);
		user.setPhone(phone);
		user.setEmail(email);
		user.setAddress(address);
		
		//调用userService层方法进行修改
		UserService userService = new UserServiceImpl();
			return;
		}
		if(leaveTime==null || "".equals(leaveTime.trim())){
			out.close();
			return;
		}
		
		condition.setOrigin(start);
		condition.setTerminus(end);
		condition.setLeaveTime(leaveTime);
		
		if(train_num != null && !"".equals(train_num.trim())){
			condition.setTrain_num(train_num);
		}
		
		PageBean pb = new PageBean();  //页面显示条数固定
		//接收分页查询相关参数
		String currentPage = request.getParameter("currentPage");  //当前页
		if(currentPage!=null && !"".equals(currentPage.trim())){
			pb.setCurrentPage(Integer.parseInt(currentPage));   //设置当前页
		}
		
		//调用service层方法进行查询
		TrainService trainService = new TrainServiceImpl();
 		List<Order> listTicket = new ArrayList<Order>();
		List<Train> list = trainService.getTrainsByPage(pb, condition);
		
		if(list.size()<=0 ){
			out.close();
			return;
		}
		
		for(int i=0;i<list.size();i++){
			Train train = list.get(i);
			Order ticket = new Order();
			
			String stations = train.getStation();
			String aTime = train.getA_time();
			String gTime = train.getG_time();
			String prices = train.getPrice();
			String trainNum = train.getTrain_num();
			int remainder = train.getRemainder();
		String trainNum = request.getParameter("trainNum");
		String train_num = request.getParameter("train_num");
		String station  = request.getParameter("station");
		String a_time = request.getParameter("a_time");
		String g_time = request.getParameter("g_time");
		String price = request.getParameter("price");
		String amount = request.getParameter("amount");
		String remainder = request.getParameter("remainder");
		//封装参数
		Train train = new Train();
		train.setTrain_num(train_num);
		train.setStation(station);
		train.setA_time(a_time);
		train.setG_time(g_time);
		train.setPrice(price);
		train.setAmount(Integer.parseInt(amount));
		train.setRemainder(Integer.parseInt(remainder));
		
		//调用service层方法进行修改
		OrderService orderService = new OrderServiceImpl();
		List<Order> list = orderService.getOrderByTrainNum(train_num);
		if(list.size()>0){
			out.close();
			return;
		}
		TrainService trainService = new TrainServiceImpl();
		int result = trainService.updateTrain(train,trainNum);
		if(result>0){
			out.close();
		}else{
			out.close();
		}
	}

}
		}
	}

}
/**
 * 退票
 */

public class ReturnTicketServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		
		String order_id = request.getParameter("order_id");
		String train_num = request.getParameter("train_num");
		String  userId = request.getParameter("user_id");
		if(order_id ==null || "".equals(order_id.trim())){
			out.close();
			return;
		}
		
		//调用service层方法进行退票

public class UpdateTrainServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		//接收参数
		String trainNum = request.getParameter("trainNum");
		String train_num = request.getParameter("train_num");
		String station  = request.getParameter("station");
		String a_time = request.getParameter("a_time");
		String g_time = request.getParameter("g_time");
		String price = request.getParameter("price");
		String amount = request.getParameter("amount");
		String remainder = request.getParameter("remainder");
		//封装参数
		Train train = new Train();
		train.setTrain_num(train_num);
		train.setStation(station);
		train.setA_time(a_time);
		train.setG_time(g_time);
		train.setPrice(price);
		train.setAmount(Integer.parseInt(amount));
		train.setRemainder(Integer.parseInt(remainder));
		
		//调用service层方法进行修改
		OrderService orderService = new OrderServiceImpl();
		List<Order> list = orderService.getOrderByTrainNum(train_num);
		if(list.size()>0){
			out.close();
			return;
		}
		TrainService trainService = new TrainServiceImpl();
		int result = trainService.updateTrain(train,trainNum);
		if(result>0){
			out.close();
		for(int i=0;i<list.size();i++){
			Train train = list.get(i);
			Order ticket = new Order();
			
			String stations = train.getStation();
			String aTime = train.getA_time();
			String gTime = train.getG_time();
			String prices = train.getPrice();
			String trainNum = train.getTrain_num();
			int remainder = train.getRemainder();
			
			String []station = stations.split("/");
			String []a_time = aTime.split("/");
			String []g_time = gTime.split("/");
			String []price = prices.split("/"); 
			
			int startIndex =0 ;
			int endIndex = 0 ;
			for(int j=0;j<station.length;j++){
				if(start.equals(station[j])){
					startIndex = j;
				}
				if(end.equals(station[j])){
					endIndex = j;
				}
			}
			float startPrice =Float.parseFloat(price[startIndex]);
			float endPrice = Float.parseFloat(price[endIndex]);
			float ticketPrice = endPrice - startPrice;

			ticket.setTrain_num(trainNum);
			ticket.setOrigin(start);
			ticket.setTerminus(end);
			ticket.setA_time(a_time[endIndex]);
			ticket.setG_time(g_time[startIndex]);
			ticket.setPrice(ticketPrice);
			ticket.setRemainder(remainder);
			ticket.setLeaveTime(leaveTime);
			listTicket.add(ticket);
		}
		
		request.setAttribute("listTicket",listTicket);
		request.setAttribute("pb",pb);
		request.setAttribute("condition", condition);
		request.getRequestDispatcher("/buyTicket/buyTicket.jsp").forward(request, response);
	}

}
		
		int remainder1 = orderService.getRemainderByTrainNum(train_num);//余票数
		int remainder2 = remainder1-1; //余票减1
		
		int result = orderService.addOrder(order);
		int result2 = orderService.updateTrain(remainder2,train_num);
		
		if(result>0 && result2>0){
			out.close();
		}else{
			out.close();
		}
		
	}
	

}

public class ToBuyTicketServlet extends HttpServlet {

public class UpdatePasswordServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		this.doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		request.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		//接收参数
		String id = request.getParameter("userId");
		String oldPassword = request.getParameter("oldPassword");
		String newPassword = request.getParameter("newPassword");
		
		if(id==null || "".equals(id.trim())){
			HttpSession session = request.getSession();
			session.removeAttribute("status");
			session.removeAttribute("welcome");
			session.removeAttribute("username");
			session.removeAttribute("user");
			out.close();
			return;
		}
		
		UserService userService = new UserServiceImpl();
		User user = userService.getUserById(Integer.parseInt(id));

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java毕业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值