JSP 라이프 싸이클2

oyeon·2021년 1월 8일
0
// lifecycle.jsp
<%@ 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>
hello~~
<%
	System.out.print("jspService()");
%>
</body>
</html>

위 jsp 파일을 실행시킨 후 lifecycle_jsp.java 파일을 확인해보면 _jspInit()과 _jspDestroy() 메서드가 비어있는 것을 확인할 수 있다. response에 포함된 것은 serivce밖에 없기 때문이다.(매번호출)

_jspInit(), _jspDestroy()를 사용할 방법은 없을까?

  • Declaration(선언문) : <%! %>로 묶는다.
<%!
	public void jspInit(){
	System.out.print("jspInit()!!!!");
}
%>

<%!
	public void jspDestroy(){
	System.out.print("jspDestroy()");
}
%>

lifecycle.jsp에 위의 코드를 추가하여 실행하면 lifecycle_jsp.java 파일이 다음의 코드가 추가된다.

	public void jspInit(){
	System.out.print("jspInit()!!!!");
}


	public void jspDestroy(){
	System.out.print("jspDestroy()");
}

또한 실행했을 때의 console 출력 결과는 다음과 같다.

  1. 브라우저가 최초 요청했을 때
jspInit()jspService()
  1. 브라우저로 두번째 요청했을 때
jspService()
  1. lifecycle.jsp를 수정한 후 요청했을 때
jspDestroy()jspInit()1jspService()1
profile
Enjoy to study

0개의 댓글