개발/Web

[WEB] JSP Life Cycle

hojak99 2017. 5. 16. 18:59

JSP 구동 원리

- JSP 를 요청하면 Servlet 으로 변환되어 메모리에 로드된 후 처리된다.

 

 

 

JSP Life Cycle

- Servlet 을 기반으로 하는 JSP Servlet 과 동일한 흐름을 가진다.

 

 

init event 발생할 시에 jspInit()     ->    

request response 발생할 시에 jspService()     ->    

destroy event 발생할 시에 jspDestroy()

 

 

 

주요 메소드

메소드

설명

jspInit()

- 해당 페이지가 최초 요청 시 1회 호출된다.

- 해당 페이지가 응답하기 위해 필요한 초기화 처리를 수행한다.

jspDestroy()

- 해당 페이지의 객체가 메모리에서 사라지면 호출된다.

- 해당 페이지가 변경되어 reload 될 때 호출된다.

jspService()

- 해당 페이지의 요청이 들어오면 호출된다.

- 보통 구현하지 않고 생략한다.

 

 

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>

 

<%-- JSP 라이프 사이클 예제 --%>

<%!

public void jspInit(){

  System.out.println("jspInit() 호출");

}

public void jspDestroy(){

  System.out.println("jspDestroy() 호출");

}

% >

 

<%

out.println("helloWorld_1");

out.println("helloWorld_2");

%>

컴파일 할 시에 "jspInit() 호출" 이 콘솔 창에 출력되고 새로 고침을 해도 또 다시 출력되지 않으나 jsp 파일에서 내용 변경하고 새로고침 할 시에는 "jspDestroy() 호출" 이 콘솔 창에 출력되고 다시 "jspInit() 호출" 이 출력된다

 

 

 

 

전역 변수 표현

- JSP 내 스크립틀릿 코드는 모두 doGet() / doPost() 내의 지역변수 이다.

- 전역 변수는 JSP 의 선언부 (Declearation) 에서 기술해야 한다. <%! .. %>

- <% .. %> 는 지역변수

 

 

 

반응형