Article January 02, 2021

JSP-22

Words count 3.4k Reading time 3 mins.

##java

자바 공부해봅시다


package ex01;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Ex01_servlet
 */
@WebServlet("/Ex01_servlet")
public class Ex01_servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     * 
     * 1. 생성자
     *         생성자 호출 뒤 init() 메소드가 호출된다.
     */
    public Ex01_servlet() {
        System.out.println("생성자 호출");
    }

    /**
     * @see Servlet#init(ServletConfig)
     * 
     * 2. init() 메소드
     *    1) 최초 한 번만 호출된다.
     *    2) 초기화 용도로 사용할 수 있다.
     *    3) init() 호출 뒤 service() 메소드가 호출된다.
     */
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init() 호출");
    }

    /**
     * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
     * 
     * 3. service() 메소드
     *    1) 실제 처리를 할 수 있다.
     *    2) 매개변수-1
     *       (1) 타입: HttpServletRequest
     *       (2) 변수: request
     *       (3) 사용자의 요청을 저장하는 변수이다.
     *           예) 사용자가 입력한 검색어, 아이디, 비밀번호 등이 저장된 곳이다.
     *    3) 매개변수-2
     *       (1) 타입: HttpServletResponse
     *       (2) 변수: response
     *       (3) 서버의 응답 정보를 저장하는 변수이다.
     *           예) 검색어의 결과, 로그인 성공 유무 등이 저장된 곳이다.
     */
    protected void service(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
        System.out.println("service() 호출");
        if (request.getMethod().equalsIgnoreCase("GET")) {  // GET방식의 요청이라면
            doGet(request, response);  // doGet() 메소드 호출
        } else {
            doPost(request, response);
        }
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     * 
     * 4. doGet()
     *    1) GET 방식의 요청인 경우에 자동으로 호출되는 메소드이다. (service() 메소드가 없으면)
     *    2) GET 방식의 요청 방법
     *       (1) <form method="get">
     *       (2) $.ajax({ type: 'get', });
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException {
        System.out.println("doGet() 호출");
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     * 
     * 5. doPost()
     *    1) POST 방식의 요청인 경우에 자동으로 호출되는 메소드이다. (service() 메소드가 없으면)
     *    2) 요청(request)과 응답(response)를 모두 doGet() 메소드로 넘기고 자신은 아무 일도 하지 않는다.
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
     throws ServletException, IOException {
        System.out.println("doPost() 호출");
        doGet(request, response);
    }

    /**
     * @see Servlet#destroy()
     * 
     * 6. destroy()
     * 
     *    웹 서버에서 프로젝트가 소멸되면 자동으로 호출된다.
     */
    public void destroy() {
        System.out.println("destroy() 호출");
    }

}


0%