기억의 DataBase

JSP의 라이프사이클 본문

JSP&Servlet

JSP의 라이프사이클

Zester; 2019. 2. 18. 18:29
WAS가 웹브라우져로부터 JSP에 대한 요청을 받게 되면,
WAS는 JSP코드를 서블릿 코드(JAVA)로 변환한 후 컴파일하여 실행 함


  • JSP파일 > JAVA 파일(서블릿)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
       int total = 0;
       for(int i=0;i<=10;i++){
              total= total+i;
       }
%>
<%= total %>
</body>
</html>

JAVA파일로 변환됨(서블릿으로 변환)



  • JSP의 실행순서
1.브라우저가 웹서버(WAS)에 JSP에 대한 요청 정보를 전달한다.
2.브라우저가 요청한 JSP가 최초로 요청했을 경우만, JSP로 작성된 코드가 서블릿으로 코드로 변환한다. (java 파일 생성)
3.서블릿 코드를 컴파일해서 실행가능한 bytecode로 변환한다. (class 파일 생성)
4.서블릿 클래스를 로딩하고 인스턴스를 생성한다.
5.서블릿이 실행되어 요청을 처리하고 응답 정보를 생성한다.


  • JSP의 라이프 사이클은 서블릿과 유사
서블릿 : init(), service(), destroy();

JSP : jspInit()         > 서버에 jsp파일을 처음 요청할 때 실행됨 
        jspService()   > jspInit()이후 jsp파일 내의 Code을 작동할 때 실행됨
                                (변경사항이 없을 경우, 계속해서 같은 jsp파일을 요청하면, jspService()만 계속 실행됨) 

        jspDestory()  > 서버를 종료한 경우 실행되거나, 변경 이후 다시 jsp파일을 요청하면 jspDestroy() 이후 다시 jspInit()을 실행함

'JSP&Servlet' 카테고리의 다른 글

redirect와 forward  (0) 2019.02.19
JSP 문법과 내장객체  (0) 2019.02.18
JSP  (0) 2019.02.18
HttpServletRequest, HttpServletResponse에 대한 이해  (0) 2019.01.31
Servlet  (0) 2019.01.31
Comments