基于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 等等;
// 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();
}
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("adTicket.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);
}
}
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))
{
System.out.println(" 添加成功");
request.getRequestDispatcher("adRoute.jsp").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 LoginServlet
*/
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public RegisterServlet() {
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 username = request.getParameter("username");
String password = request.getParameter("password");
String mail = request.getParameter("mail");
String name = request.getParameter("name");
String phoneNumber = request.getParameter("phoneNumber");
String idCard = request.getParameter("idCard");
String idType = request.getParameter("idType");
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd" );
String aa= request.getParameter("Date");
java.util.Date timeDate = null;
/**
* @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();
}
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("adTicket.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);
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();
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();
}
session.removeAttribute("route");
session.removeAttribute("seatType");
request.getRequestDispatcher("BuySuccess.jsp").forward(request, response);
}
else if(seatType.equals("软座")&&user.getBalance()>=route.getSfPrice())
{
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.getSfPrice());
int balance =user.getBalance() -route.getSfPrice();
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);
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);
* Servlet implementation class QueryRouteServlet
*/
public class ADQueryRouteServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ADQueryRouteServlet() {
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());
//request.setContentType("text/html,charset=utf-8");
//request.setCharacterEncoding("UTF-8");
String fromStation = request.getParameter("fromStation");
String toStation = request.getParameter("toStation");
String departureTime = request.getParameter("departureTime");
System.out.println(fromStation + " " + toStation + " "+departureTime );
System.out.println(departureTime+ " " +fromStation+toStation );
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
//String aa= request.getParameter("Date");
java.util.Date timeDate = null;
java.sql.Date currentDate=null;
try {
timeDate = sdf.parse(departureTime);
currentDate = new java.sql.Date(timeDate.getTime());
} catch (ParseException e) {
//e.printStackTrace();
}
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();
}
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
{
System.out.println("余额不足");
request.getRequestDispatcher("BuyError.jsp").forward(request, response);
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
HttpSession session = request.getSession();
String userName = (String) session.getAttribute("user");
// String admin = (String) session.getAttribute("admin");
//session.invalidate();
if(userName== username) //重复登陆
{
System.out.println("您已登陆,请勿重复登陆");
response.sendRedirect("UserMain.jsp");
}
else
{
System.out.println(username+ " "+password);
UserDAO userDao = DAOFactory.getIUserDAOInstance();
User user = new User();
System.out.println(username + " "+password);
try {
user = userDao.findById(username);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(user == null)
request.getRequestDispatcher("loginError.jsp").forward(request, response);
//System.out.println(user.getUsername()+ " "+ user.getPassword());
else if(username.equals(user.getUsername())&&password.equals(user.getPassword()))
{
if(username.equals("admin")){
session.setAttribute("admin", username);
response.sendRedirect("admin.jsp");
//跳转到管理员界面
}// 如果是管理员登陆则存储到session
else
session.setAttribute("User", user);
// 如果是用户则存储用户名到session
response.sendRedirect("My12306.jsp");
}
}
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);
}
}
// TODO Auto-generated catch block
e.printStackTrace();
}
if (user1 != null)
{
if(user1.getUsername().equals(username))
System.out.println("用户名重复,请更换");
else if(user1.getMail().equals(mail))
System.out.println("邮箱重复,请更换");
else if(user1.getPhoneNumber().equals(phoneNumber))
System.out.println("手机号重复,请更换");
else if(user1.getIdCard().equals(idCard))
System.out.println("身份证号重复,请更换");
}
else
{
UserDAO userDao1 = DAOFactory.getIUserDAOInstance();
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setMail(mail);
user.setName(name);
user.setBirthday(currentDate);
user.setIdCard(idCard);
user.setPhoneNumber(phoneNumber);
user.setIdType(idType);
user.setBalance(balance1);
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);
* @see HttpServlet#HttpServlet()
*/
public ADQueryRouteServlet() {
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());
//request.setContentType("text/html,charset=utf-8");
//request.setCharacterEncoding("UTF-8");
String fromStation = request.getParameter("fromStation");
String toStation = request.getParameter("toStation");
String departureTime = request.getParameter("departureTime");
System.out.println(fromStation + " " + toStation + " "+departureTime );
System.out.println(departureTime+ " " +fromStation+toStation );
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
//String aa= request.getParameter("Date");
java.util.Date timeDate = null;
java.sql.Date currentDate=null;
try {
timeDate = sdf.parse(departureTime);
currentDate = new java.sql.Date(timeDate.getTime());
} catch (ParseException e) {
//e.printStackTrace();
}
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();
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.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
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String businessSeatCount = request.getParameter("businessSeatCount");
String bPrice = request.getParameter("bPrice");
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.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);
}
} 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 {
}
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 QueryRouteServlet
*/
public class QueryRouteAtoBServlet extends HttpServlet {
private static final long serialVersionUID = 1L;