基于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 等等;
/**
* Servlet implementation class CreateStationServlet
*/
public class CreateStationServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CreateStationServlet() {
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 stationName = request.getParameter("stationName");
System.out.println(stationName);
String level = request.getParameter("level");
String describe = request.getParameter("describe");
HttpSession session = request.getSession();
String admin = (String) session.getAttribute("admin");
if(admin == null)
System.out.println("请以管理员登陆");
else{
StationDAO stationDao = DAOFactory.getIStationDAOInstance();
try {
if(stationDao.findStation(stationName).size()==0)
{
Station station = new Station();
station.setName(stationName);
station.setLevel(level);
station.setDescribe(describe);
StationDAO stationDao1 = DAOFactory.getIStationDAOInstance();
stationDao1.doCreateStation(station);
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);
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);
}
}
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
{
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);
response.setContentType("text/html;charset=utf-8");
}
}
/**
* 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");
User user = (User) session.getAttribute("User");
if(username == null )
System.out.println("请先登录");
else{
String ticketId = request.getParameter("ticketId");
Long ticketid = Long.parseLong(ticketId);
System.out.println(departureTime+ " " +fromStation+toStation );
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
//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);
}
}
/**
* 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());
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();
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);
}
}
}
/**
* @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);
}
}
// 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
{
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);
response.setContentType("text/html;charset=utf-8");
}
}
} 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.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 {
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);
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);
}
}
/**
* Servlet implementation class LoginServlet
*/
public class RegisterServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* 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 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);
/**
* 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");
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());
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);
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.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();
}
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)
*/
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 {
private static final long serialVersionUID = 1L;
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);