基于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 等等;
}
request.setAttribute("list", list);
request.getRequestDispatcher("QueryRoute.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 DeleteRouteServlet
*/
public class DeleteRouteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DeleteRouteServlet() {
super();
// TODO Auto-generated constructor 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);
}
}
/**
* 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
}
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("更新余额失败");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
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.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.setSpecialSeatCount(spS);
route.setSoftSeatCount(sfS);
route.setHardSeatCount(hS);
route.setNoSeatCount(nS);
route.setbPirce(bP);
route.setSpPrice(spP);
route.setSfPrice(sfP);
route.sethPrice(hP);
route.setnPrice(nP);
route.setRemark(remark);
try {
RouteDAO routeDao1 = DAOFactory.getIRouteDAOInstance();
if(routeDao1.doUpdateRoute(route))
{ 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();
}
}
// }
* Servlet implementation class UpdateRouteServlet
*/
public class UpdateRouteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpdateRouteServlet() {
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 admin = (String) session.getAttribute("admin");
// if(admin == null)
// System.out.println("请以管理员登陆");
// else{
//String routeName = request.getParameter("routeName");
// String routeType = request.getParameter("trainType");
//String fromStation = request.getParameter("fromStation");
//String toStation = request.getParameter("toStation");
String routeId = request.getParameter("routeId");
Long routeid = Long.parseLong(routeId);
String routeName = request.getParameter("routeName");
String routeType = request.getParameter("routeType");
String fromStation = request.getParameter("fromStation");
String toStation = request.getParameter("toStation");
String departureTime= request.getParameter("departureTime");
System.out.println(departureTime+ " " +fromStation+toStation );
System.out.println(Timestamp.valueOf(departureTime));
System.out.println(departureTime);
String arrivalTime = request.getParameter("arrivalTime");
RouteDAO routeDao = DAOFactory.getIRouteDAOInstance();
Route route = new Route();
// 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);
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{
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
/**
* 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");
Integer Balance = Integer.parseInt(balance);
java.util.Date timeDate = null;
try {
timeDate = sdf.parse(birthday);
} catch (ParseException e) {
e.printStackTrace();
}
java.sql.Date Birthday = new java.sql.Date(timeDate.getTime());
HttpSession session = request.getSession();
String admin = (String) session.getAttribute("admin");
if(admin == null )
System.out.println("请先登录");
else{
System.out.println(username);
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();
// 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);
}
}
/**
* Servlet implementation class ChangePasswordServlet
*/
public class UpdateProfileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpdateProfileServlet() {
super();
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);
}
}
/**
* 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 {
/**
* Servlet implementation class DeleteRouteServlet
*/
public class DeleteRouteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public DeleteRouteServlet() {
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 admin = (String) session.getAttribute("admin");
// if(admin == null)
// System.out.println("请以管理员登陆");
// 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
// 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);
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);
}
/**
* 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 ChangePasswordServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ChangePasswordServlet() {
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 ppassword = request.getParameter("ppassword");
String npassword = request.getParameter("npassword");
HttpSession session = request.getSession();
String username = (String) session.getAttribute("user");
System.out.println(username+ " "+ ppassword+ " "+ npassword);
if(username == null)
{
System.out.println("请先登录");
response.sendRedirect("userlogin.html");
}
else
{
// System.out.println(username);
UserDAO userDao = DAOFactory.getIUserDAOInstance();
User user = null;
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) {
String specialSeatCount = request.getParameter("specialSeatCount");
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 {
if(routeDao.doCreateRoute(route))
{
// 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());
}
/**
* @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 UpdateRouteServlet
*/
public class UpdateRouteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public UpdateRouteServlet() {
super();
// 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();
int bS1 = bS - 1;
System.out.println(bS1);
route.setBusinessSeatCount(bS1);
try {
RouteDao1.doUpdateRoute(route);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TicketDAO ticketDao = DAOFactory.getITicketDAOInstance();
try {
if(ticketDao.doCreateTicket(ticket))
System.out.println("购买成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.sendRedirect("PayOrderServlet");
}
else if(seatType.equals("特等座")&&route.getSpecialSeatCount()>0)
{
ticket.setSeatType(seatType);
Integer bS = route.getSpecialSeatCount();
Integer price = route.getSpPrice();
String seatnum = bS.toString()+"号";
ticket.setSeatNum(seatnum);
ticket.setPrice(price);
RouteDAO RouteDao1 = DAOFactory.getIRouteDAOInstance();
Integer bS1 = bS - 1;
System.out.println(bS1);
route.setSpecialSeatCount(bS1);