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

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

100023322402

110023322402

120023322402

130023322402

140023322402

160023322402

170023322402

基于javaweb的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 等等;  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
	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();
User user = (User)session.getAttribute("User");
Long orderId = (Long)session.getAttribute("orderId"); //可能获取空的ID
System.out.println(orderId);
// Long routeId = (Long)session.getAttribute("routeId"); //获取车次ID
// String routeName = (String)session.getAttribute("routeName");
// String trainType = (String)session.getAttribute("trainType");
Route route = (Route) session.getAttribute("route");
String seatType = (String)session.getAttribute("seatType");
//Integer price = (Integer)session.getAttribute("price");
//Date departureTime = (Date)session.getAttribute("departureTime");

//TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();//
System.out.println(" "+route.getDepartureTime());
System.out.println(route);
Ticket ticket = new Ticket();
ticket.setName(user.getName());
ticket.setRoute(route.getName());
ticket.setRouteType(route.getType());
ticket.setDepartureTime((Timestamp) route.getDepartureTime());
ticket.setOrderId(orderId);
// TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
// try {
// if(ticketDao.doCreateTicket(ticket))
// System.out.println("购票成功");
// else
// System.out.println("购票失败");
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
String from = route.getFromStation();
String to = route.getToStation();
ticket.setFrom(from);
ticket.setTo(to);
ticket.setRouteId(route.getId());
// RouteDAO RouteDao = DAOFactory.getIRouteDAOInstance();
// Route route = null;
// try {
// route = RouteDao.findOnlyRoute(routeId);
// } catch (Exception e1) {
// // TODO Auto-generated catch block
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
	 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 {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
			route.setHardSeatCount(bS1);
try {
RouteDao1.doUpdateRoute(route);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
try {
ticketDao.doCreateTicket(ticket);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("PayOrderServlet");
}
else if(seatType.equals("无座")&&route.getNoSeatCount()>0)
{
ticket.setSeatType(seatType);
Integer bS = route.getHardSeatCount();
Integer price = route.getnPrice();
String seatnum = bS.toString()+"号";
ticket.setSeatNum(seatnum);
ticket.setPrice(price);
RouteDAO RouteDao1 = DAOFactory.getIRouteDAOInstance();
Integer bS1 = bS - 1;
route.setNoSeatCount(bS1);
try {
RouteDao1.doUpdateRoute(route);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
try {
ticketDao.doCreateTicket(ticket);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("PayOrderServlet");
}
else
{
System.out.println("购票失败");
}

// SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
// java.util.Date timeDate = null;
// try {
// timeDate = sdf.parse(aa);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 * 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");
String seatType = request.getParameter("seatType");
String password = request.getParameter("password");
Route route = (Route) session.getAttribute("route");
User user = (User) session.getAttribute("User");
// System.out.println(departureTime);
System.out.println(seatType + " "+password+ " ");
System.out.println(user.getPassword());
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());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
			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);
session.setAttribute("seatType", seatType);
// session.setAttribute("price", price);
// session.setAttribute("departureTime", departureTime);
// request.setAttribute("a","aaa132");
RequestDispatcher rd = request.getRequestDispatcher("CreateTicketServlet");
rd.forward(request, response);
}
else{
System.out.println("密码错误");
response.sendRedirect("errorpass.jsp");
}
}
}

/**
* @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);
}

}
package com.meession.um.service;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
		// 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.gethPrice());
int balance =user.getBalance() -route.gethPrice();
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);
}
else if(seatType.equals("无座")&&user.getBalance()>=route.getnPrice())
{
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());


项目链接:
https://javayms.github.io?id=161422322105200jx
https://javayms.pages.dev?id=161422322105200jx