life cycle (1)

💻 Programming/JSP

[JSP] JSP 생명 주기 ( life cycle )

 JSP 생명 주기라 함은 JSP 생성에서부터 소멸까지의 과정을 말하는데 이는 서블릿 생명주기와 매우 유사하고 추가적으로 JSP를 컴파일 하는 과정만 추가된 것이라고 생각하면 된다.

큰 과정만 간추리면 다음과 같습니다. 

  • Compilation ( 컴파일 ) 

  • Initialization ( 초기화 ) 

  • Execution ( 실행 ) 

  • Cleanup ( 뒷정리 ) 

그림으로 보면 아래와 같습니다. 서블릿 생명주기에서 컴파일만 추가된 것이죠. 아래 그림에는 컴파일 과정은 생략되어있네요. 

JSP Compilation:

웹브라우저가 JSP를 요청하면 JSP engine 은 우선 요청한 JSP파일이 컴파일이 필요한지를 검사합니다. 만약 한번도 컴파일 된적이 없거나 수정된 부분이 있다면 JSP engine 이 컴파일을 하게 됩니다.  

컴파일 과정은 아래와 같습니다.

  • Parsing the JSP. ( JSP 파일 파싱 ) 

  • Turning the JSP into a servlet. ( JSP를 서블릿으로 변환 ) 

  • Compiling the servlet. ( 서블릿 컴파일 ) 

JSP Initialization ( 초기화 )

컨테이너가 JSP를 로드할 때 jspInit() 메소드를 호출합니다. 요청을 처리하기 전에 말이죠. 만약 특정 JSP에서 특수한 처리가 필요하다면 이 jspInit() 메소드를 오버라이드 하시면 됩니다. 

public void jspInit(){ // Initialization code... }

일반적으로 초기화는 서블릿 초기화처럼 한번만 실행이 됩니다, 이 초기화 과정에서 개발자들은 보통 데이타 베이스 커넥션을 맺고 파일을 열고 룩업 테이블을 생성하는 과정을 처리한다고 하네요.  

JSP Execution ( 실행 )

브라우저가 JSP 페이지를 요청하고 페이지가 로드되고 초기화가 됐다면 JSP engine은 _jspService() 메소드를 호출하게 됩니다.

 _jspService() 메소드는 HttpServletRequest와 HttpServletResponse 를 파라미터로 받습니다.

void _jspService(HttpServletRequest request, HttpServletResponse response) { // Service handling code... }

JSP의 _jspService()메소드는 요청이 올때마다 한번씩 실행이 됩니다. 그리고 요청에 대한 응답을 생성하며 모든 종류의 HttpRequest방법 ( ie. GET, POST, DELETE, PUT, etc.) 에 대한 응답을 생성합니다. 

JSP Cleanup ( 뒷정리 )

 jspDestroy() 메소드는 서블릿을 소멸시키는 메소드와 동일한 개념이라고 보시면 됩니다. 이 메소드를 오버라이드해서 필요한 처리를 해주셔도 됩니다. 데이타 베이스 커넥션을 끊는다던지 파일을 닫는 것과 같은 일들을 말이죠.

 

 jspDestroy() 메소드는 아래처럼 간단하게 생겼습니다.

public void jspDestroy() { // Your cleanup code goes here. }

 

 

Reference : http://www.tutorialspoint.com/jsp/jsp_life_cycle.htm

 



'💻 Programming > JSP' 카테고리의 다른 글

[JSP] Custom Tags ( 커스텀, 사용자 정의 태그 )  (0) 2019.02.15
[JSP] Directives ( 디렉티브 )  (0) 2019.02.15
[JSP] 조건문, 반복문  (0) 2019.02.15
[JSP] JSP 시작하기  (0) 2019.02.15
[JSP] JSP란?  (0) 2019.02.15