JSP 라이프 싸이클1

oyeon·2021년 1월 8일
0
post-custom-banner

JSP 실행시 Servlet으로 바뀌어서 동작하는 것을 직접 확인해보자

이전 실습에서 실행한 sum10.jsp 파일에 대해 sum10_jsp.java 파일이 생성된 것을 workspace 하위폴더에서 확인할 수 있다.

// sum10_jsp.java
public void _jspInit() {
}

public void _jspDestroy() {
}

public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {
...
  try {
        ...
        out.write("\r\n");
        out.write("\r\n");
        out.write("    \r\n");
        out.write("<!DOCTYPE html>\r\n");
        out.write("<html>\r\n");
        out.write("<head>\r\n");
        out.write("<meta charset=\"UTF-8\">\r\n");
        out.write("<title>Insert title here</title>\r\n");
        out.write("</head>\r\n");
        out.write("<body>\r\n");
        out.write("\r\n");

      int total = 0;
      for(int i = 1; i <= 10; i++){
          total = total + i;
      }

        out.write("\r\n");
        out.write("\r\n");
        out.write("1부터 10까지의 합 : ");
        out.print(total );
        out.write("\r\n");
        out.write("</body>\r\n");
        out.write("</html>");
      } catch (java.lang.Throwable t) {
       ...
      } finally {
        _jspxFactory.releasePageContext(_jspx_page_context);
      }
    }

이를 통해 JSP는 실행시 항상 Servlet으로 변환되고, 그 Servlet.java는 서블릿 소스로 자동으로 컴파일 되어 실행되서 결과가 브라우저에 보여지는 것을 알 수 있다.

JSP의 실행순서

  1. 브라우저가 웹서버에 JSP에 대한 요청 정보를 전달한다.
  2. 브라우저가 요청한 JSP가 최초로 요청했을 경우만
    1) JSP로 작성된 코드가 서블릿 코드로 변환된다.(java 파일 생성)
    2) 서블릿 코드를 컴파일하여 실행가능한 bytecode로 변환한다.(class 파일 생성)
    3) 서블릿 클래스를 로딩하고 인스턴스를 생성한다.
  3. 서블릿이 실행되어 요청을 처리하고 응답정보를 생성한다.
profile
Enjoy to study
post-custom-banner

0개의 댓글