|
|
|
@ -1,99 +1,97 @@
|
|
|
|
|
package com.cn.servlet;
|
|
|
|
|
package com.cn.servlet; // 定义Servlet所在的包名
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.PrintWriter;
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.io.IOException; // 导入IOException,用于处理输入输出异常
|
|
|
|
|
import java.io.PrintWriter; // 导入PrintWriter,用于向客户端发送字符文本数据
|
|
|
|
|
import java.sql.Timestamp; // 导入Timestamp类,用于处理时间戳
|
|
|
|
|
import java.util.Date; // 导入Date类,用于处理日期
|
|
|
|
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
|
|
import javax.servlet.http.HttpServlet;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.servlet.ServletException; // 导入ServletException,用于处理Servlet运行时的异常
|
|
|
|
|
import javax.servlet.http.HttpServlet; // 导入HttpServlet,是所有HTTP servlet的父类
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; // 导入HttpServletRequest,代表客户端的请求信息
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; // 导入HttpServletResponse,代表服务器对客户端的响应
|
|
|
|
|
|
|
|
|
|
import com.cn.domain.Train;
|
|
|
|
|
import com.cn.service.TrainService;
|
|
|
|
|
import com.cn.service.impl.TrainServiceImpl;
|
|
|
|
|
import com.cn.domain.Train; // 导入Train类,该类定义了车次的数据结构
|
|
|
|
|
import com.cn.service.TrainService; // 导入TrainService接口,该接口定义了车次服务的方法
|
|
|
|
|
import com.cn.service.impl.TrainServiceImpl; // 导入TrainService接口的实现类,用于具体的车次业务操作
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @ClassName: AddTrainServlet
|
|
|
|
|
* AddTrainServlet类,用于处理添加车次的操作。
|
|
|
|
|
* @ClassName: AddTrainServlet 类名:AddTrainServlet
|
|
|
|
|
* @Description: 添加车次的Servlet
|
|
|
|
|
* @author: ljy
|
|
|
|
|
* @date: 2019年9月11日 下午4:41:06
|
|
|
|
|
* @author: ljy Servlet的作者
|
|
|
|
|
* @date: 2019年9月11日 下午4:41:06 Servlet创建的日期和时间
|
|
|
|
|
*/
|
|
|
|
|
public class AddTrainServlet extends HttpServlet {
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L; // 用于序列化
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @see HttpServlet#HttpServlet()
|
|
|
|
|
* 默认构造函数。
|
|
|
|
|
*/
|
|
|
|
|
public AddTrainServlet() {
|
|
|
|
|
super();
|
|
|
|
|
super(); // 调用父类的构造函数
|
|
|
|
|
// TODO Auto-generated constructor stub
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
|
|
|
|
|
* 处理GET请求的方法。
|
|
|
|
|
* @param request HttpServletRequest对象,包含客户端的请求信息
|
|
|
|
|
* @param response HttpServletResponse对象,包含服务器对客户端的响应信息
|
|
|
|
|
* @throws ServletException 抛出Servlet异常
|
|
|
|
|
* @throws IOException 抛出输入输出异常
|
|
|
|
|
*/
|
|
|
|
|
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 该方法为空,因为此Servlet主要处理POST请求
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
|
|
|
|
|
* 处理POST请求的方法。
|
|
|
|
|
* @param request HttpServletRequest对象,包含客户端的请求信息
|
|
|
|
|
* @param response HttpServletResponse对象,包含服务器对客户端的响应信息
|
|
|
|
|
* @throws ServletException 抛出Servlet异常
|
|
|
|
|
* @throws IOException 抛出输入输出异常
|
|
|
|
|
*/
|
|
|
|
|
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取界面中输入的数据
|
|
|
|
|
*/
|
|
|
|
|
String trainNumber = request.getParameter("trainNumber");
|
|
|
|
|
String startStation = request.getParameter("startStation");
|
|
|
|
|
String endStation = request.getParameter("endStation");
|
|
|
|
|
String startTime = request.getParameter("startTime");
|
|
|
|
|
|
|
|
|
|
// 获取界面中输入的数据
|
|
|
|
|
String trainNumber = request.getParameter("trainNumber"); // 从请求中获取车次号参数
|
|
|
|
|
String startStation = request.getParameter("startStation"); // 从请求中获取起始站参数
|
|
|
|
|
String endStation = request.getParameter("endStation"); // 从请求中获取终点站参数
|
|
|
|
|
String startTime = request.getParameter("startTime"); // 从请求中获取起始时间参数,并格式化为带时分秒的时间
|
|
|
|
|
startTime = startTime.substring(0, 10)+" "+startTime.substring(11)+":00";
|
|
|
|
|
String endTime = request.getParameter("endTime");
|
|
|
|
|
String endTime = request.getParameter("endTime"); // 从请求中获取结束时间参数,并格式化为带时分秒的时间
|
|
|
|
|
endTime = endTime.substring(0, 10)+" "+endTime.substring(11)+":00";
|
|
|
|
|
Integer price = Integer.valueOf(request.getParameter("price"));
|
|
|
|
|
Integer seatNumber = Integer.valueOf(request.getParameter("seatNumber"));
|
|
|
|
|
Integer price = Integer.valueOf(request.getParameter("price")); // 从请求中获取票价参数,并转换为Integer类型
|
|
|
|
|
Integer seatNumber = Integer.valueOf(request.getParameter("seatNumber")); // 从请求中获取座位数参数,并转换为Integer类型
|
|
|
|
|
// 获取当前时间
|
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime()); // 使用当前时间创建Timestamp对象
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 将数据封装成对象
|
|
|
|
|
*/
|
|
|
|
|
Train train = new Train();
|
|
|
|
|
train.setTrainNumber(trainNumber);
|
|
|
|
|
train.setStartStation(startStation);
|
|
|
|
|
train.setEndStation(endStation);
|
|
|
|
|
train.setStartTime(startTime);
|
|
|
|
|
train.setEndTime(endTime);
|
|
|
|
|
train.setPrice(price);
|
|
|
|
|
train.setSeatNumber(seatNumber);
|
|
|
|
|
train.setAddTime(addTime);
|
|
|
|
|
// 将数据封装成对象
|
|
|
|
|
Train train = new Train(); // 创建Train对象,用于封装车次信息
|
|
|
|
|
train.setTrainNumber(trainNumber); // 设置车次号
|
|
|
|
|
train.setStartStation(startStation); // 设置起始站
|
|
|
|
|
train.setEndStation(endStation); // 设置终点站
|
|
|
|
|
train.setStartTime(startTime); // 设置起始时间
|
|
|
|
|
train.setEndTime(endTime); // 设置结束时间
|
|
|
|
|
train.setPrice(price); // 设置票价
|
|
|
|
|
train.setSeatNumber(seatNumber); // 设置座位数
|
|
|
|
|
train.setAddTime(addTime); // 设置添加时间
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 将数据存入数据库,并返回是否成功的结果
|
|
|
|
|
*/
|
|
|
|
|
TrainService trainService = new TrainServiceImpl();
|
|
|
|
|
int recordNumber = trainService.add(train);
|
|
|
|
|
// 将数据存入数据库,并返回是否成功的结果
|
|
|
|
|
TrainService trainService = new TrainServiceImpl(); // 创建TrainService的实现类对象,用于车次业务操作
|
|
|
|
|
int recordNumber = trainService.add(train); // 调用TrainService的add方法添加车次,并返回影响的记录数
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 根据返回值判断是否添加车次成功,返回1为成功
|
|
|
|
|
*/
|
|
|
|
|
PrintWriter out = response.getWriter();
|
|
|
|
|
if(recordNumber == 1) {
|
|
|
|
|
out.write("<script>alert('添加成功!');"
|
|
|
|
|
// 根据返回值判断是否添加车次成功,返回1为成功
|
|
|
|
|
PrintWriter out = response.getWriter(); // 获取PrintWriter对象,用于向客户端发送响应
|
|
|
|
|
if(recordNumber == 1) { // 如果添加成功(影响的记录数为1)
|
|
|
|
|
out.write("<script>alert('添加成功!');" // 向客户端发送JavaScript代码,弹出提示并跳转到车次列表页面
|
|
|
|
|
+ "window.location.href='GetAllTrainServlet'</script>");
|
|
|
|
|
}else {
|
|
|
|
|
out.write("<script>alert('很抱歉,添加失败!');"
|
|
|
|
|
} else { // 如果添加失败
|
|
|
|
|
out.write("<script>alert('很抱歉,添加失败!');" // 向客户端发送JavaScript代码,弹出提示并跳转到添加车次页面
|
|
|
|
|
+ "window.location.href='pages/admin/right/addTrain.jsp'</script>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
out.close();
|
|
|
|
|
//response.sendRedirect("pages/admin/right/addTrain.jsp");
|
|
|
|
|
|
|
|
|
|
out.close(); // 关闭PrintWriter对象
|
|
|
|
|
//response.sendRedirect("pages/admin/right/addTrain.jsp"); // 此行代码被注释,使用JavaScript跳转代替服务器重定向
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|