基于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 等等;
}
/**
* @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.tm.service.ticket;
/**
* Servlet implementation class CreateTicketServlet
*/
public class CreateTicketServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CreateTicketServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
try {
user = userDao.findById(username);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
{
UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
user.setPassword(npassword);
try {
userDao1.doUpdate(user);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("密码修改成功"+user.getPassword());
request.getRequestDispatcher("ChangePassSuccess.jsp").forward(request, response);
}
else
{
request.getRequestDispatcher("ChangePasswordError.jsp").forward(request, response);
System.out.println("原始密码错误");
}
}
}
/**
* @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.tm.service.ticket;
*/
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);
String orderId = request.getParameter("orderId");
Long orderid = Long.parseLong(orderId);
String price = request.getParameter("price");
Integer Price = Integer.parseInt(price);
System.out.println(ticketid+ " " + orderid+" "+price);
TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
try {
if(ticketDao.doDeleteTicket(ticketid))
{
int balance = user.getBalance();
int nbalance = balance + Price;
user.setBalance(nbalance);
UserDAO UserDao = DAOFactory.getIUserDAOInstance();
if(UserDao.doUpdate(user))
{
System.out.println("余额返回");
OrderDAO OrderDao = DAOFactory.getIOrderDAOInstance();
Order order = new Order();
order = OrderDao.findByOrderId(orderid);
System.out.println(order);
java.sql.Timestamp lastUpdateDate= new java.sql.Timestamp(System.currentTimeMillis());
order.setLastUpdateDate(lastUpdateDate);
order.setStatus("已取消");
OrderDAO OrderDao1 = DAOFactory.getIOrderDAOInstance();
if(OrderDao1.doUpdateOrder(order))
{
System.out.println("更新订单成功");
request.getRequestDispatcher("QueryTicketServlet").forward(request, response);
}
else
System.out.println("更新订单失败");
}
else
System.out.println("更新余额失败");
}
session.removeAttribute("seatType");
request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
}
else if(seatType.equals("硬座")&&user.getBalance()>=route.gethPrice())
{
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.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) {
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);
}
}
package com.meession.um.service;
/**
* Servlet implementation class LoginServlet
*/
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RegisterServlet() {
super();
}
package com.meession.tm.service.order;
/**
* 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");
}
}
else
{request.setAttribute("message", "失败");
request.getRequestDispatcher("loginError.jsp").forward(request, response);
}
}
}
// TODO Auto-generated method stub
// }
/**
* @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;
/**
* Servlet implementation class ChangePasswordServlet
//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
// e1.printStackTrace();
// }
if(seatType.equals("商务座")&&route.getBusinessSeatCount()>0)
{
ticket.setSeatType(seatType);
Integer bS = route.getBusinessSeatCount();
Integer price = route.getbPrice();
String seatnum = bS.toString()+"号";
ticket.setSeatNum(seatnum);
ticket.setPrice(price);
RouteDAO RouteDao1 = DAOFactory.getIRouteDAOInstance();
UserDAO userDao = DAOFactory.getIUserDAOInstance();
User user = new User();
try {
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);
user.setBalance(Balance);
System.out.println(user);
try {
UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
if(userDao1.doUpdate(user))
{
System.out.println("修改成功");
request.getRequestDispatcher("adUser.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)
/**
* 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());
// 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);
}
}
package com.meession.am.service.route;
/**
* 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);
} catch (ParseException e) {
String spPrice = request.getParameter("spPrice");
String softSeatCount = request.getParameter("softSeatCount");
String sfPrice = request.getParameter("sfPrice");
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);
route.setRemark(remark);
System.out.println("route "+ route.getDepartureTime());
//route.setFromStationId(fSId);
//route.setToStationId(tSId);
try {
// 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());
order.setStatus("已付款");
order.setPayTime(payDate);
order.setLastUpdateDate(lastUpdateDate);
order.setPrice(route.getnPrice());
int balance =user.getBalance() -route.getnPrice();
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
//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);
}
}
package com.meession.am.service.route;
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);
}
}
package com.meession.tm.service.ticket;
/**
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);
// } catch (ParseException e) {
// e.printStackTrace();
// }
// java.sql.Date departureTime = new java.sql.Date(timeDate.getTime());
}