package com.cn.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.cn.domain.Train;
import com.cn.service.TrainService;
import com.cn.service.impl.TrainServiceImpl;

/**
 * 
 * @ClassName: GetAllTrainServlet
 * @Description: 获取所有车次信息的Servlet
 * @author: ljy
 * @date: 2019年9月11日 下午4:45:31
 */
public class GetAllTrainServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * HttpServlet的构造函数。
     */
    public GetAllTrainServlet() {
        super();
        // 构造函数中的代码，通常不需要自定义操作，因为父类已经处理
    }

    /**
     * 处理GET请求的方法。
     * 当客户端发送GET请求时，这个方法会被调用。
     * @param request HttpServletRequest对象，包含客户端请求信息。
     * @param response HttpServletResponse对象，用于发送响应到客户端。
     * @throws ServletException 可能抛出的Servlet异常。
     * @throws IOException 可能抛出的IO异常。
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 创建TrainService的实现类对象，用于访问车次相关的业务逻辑
        TrainService trainService = new TrainServiceImpl();
        // 调用trainService的getAll方法获取所有车次的列表
        List<Train> trainList = trainService.getAll();
        // 判断车次列表是否不为null
        if(trainList != null) {
            // 如果不为null，则将车次列表设置为request的属性，以便在JSP页面中可以访问
            request.setAttribute("trainList", trainList);
        } else {
            // 如果为null，则在控制台打印消息，表示没有车次信息
            System.out.println("没有任何站点信息");
        }
        
        // 使用RequestDispatcher将请求转发到指定的JSP页面
        // "pages/admin/right/getAllTrain.jsp"是JSP文件的路径，用于展示所有车次信息
        request.getRequestDispatcher("pages/admin/right/getAllTrain.jsp").forward(request, response);
    }

    /**
     * 处理POST请求的方法。
     * 当客户端发送POST请求时，这个方法会被调用。
     * @param request HttpServletRequest对象，包含客户端请求信息。
     * @param response HttpServletResponse对象，用于发送响应到客户端。
     * @throws ServletException 可能抛出的Servlet异常。
     * @throws IOException 可能抛出的IO异常。
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }
}