09 서블릿,필터,리스너

p196 - src/main/java/boot/start/servlet/LifeCycle

@WebServlet(name = "lifeCycle", urlPatterns = "/lifecycle")
public class LifeCycle extends HttpServlet {

    // 서블릿이 초기화될 때 한 번만 호출
    @Override
    public void init() throws ServletException {
        super.init();
        System.out.println("Servlet is being initialized - init()");
    }

    // 클라이언트 요청이 있을 때마다 호출
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Processing GET request - doGet()");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html><body>");
        out.println("<h1>Servlet Lifecycle</h1>");
        out.println("<p>This is the GET response.</p>");
        out.println("<p>Check the console for lifecycle logs.</p>");
        out.println("</body></html>");
    }

    // 클라이언트 요청이 있을 때마다 호출 (POST 요청)
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("Processing POST request - doPost()");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        out.println("<html><body>");
        out.println("<h1>Servlet Lifecycle</h1>");
        out.println("<p>This is the POST response.</p>");
        out.println("<p>Check the console for lifecycle logs.</p>");
        out.println("</body></html>");
    }

    // 서블릿이 메모리에서 제거될 때 호출
    @Override
    public void destroy() {
        System.out.println("Servlet is being destroyed - destroy()");
        super.destroy();
    }
}

p199 - src/main/java/boot/start/filter/LoggingFilter

p199 - src/main/java/boot/start/servlet/FilterServlet

p203 - src/main/java/boot/start/listener/SessionListener

p203 - src/main/java/boot/start/servlet/LoginServlet

Last updated