본문 바로가기
개발이야기/웹_백엔드

17) JSP 라이프싸이클

by 효우너 2020. 8. 2.
728x90
반응형

* 이 글은 부스트코스 웹 백엔드 강의 수강 바탕으로 작성되었습니다.

1에서 10까지 출력하는 jsp가 서블릿으로 변경 된 파일

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("\n"); 
out.write("http://www.w3.org/TR/html4/loose.dtd\">\n"); 
out.write("<html>\n"); 
out.write("<head>\n"); 
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n"); out.write("<title>sum10</title>\n"); 
out.write("</head>\n"); 
out.write("<body>\n"); 
out.write("\n"); 
int total = 0; 
for(int i = 1; i <= 10; i++){ 
total = total + i; } 
out.write("\n"); 
out.write("\n"); 
out.write("1부터 10까지의 합 : "); 
out.print(total ); 
out.write("\n"); 
out.write("\n"); 
out.write("</body>\n"); 
out.write("</html>"); 
} catch (java.lang.Throwable t) { ..... } } 
finally { _jspxFactory.releasePageContext(_jspx_page_context); } }

스크립틀릿 부분이라고 java 코드를 입력한 부분은 다음과 같이 입력되어 있습니다.

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

표현식으로 출력한 부분은 다음과 같습니다.

out.print(total );

 

1. JSP의 실행순서

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

 

lifecycle.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
hello 
<% System.out.println("_jspService()"); %> 
<%! public void jspInit() { System.out.println("jspInit()!"); } 
public void jspDestroy() { System.out.println("jspDestroy()"); } %> 
</body> 
</html>
728x90
반응형

'개발이야기 > 웹_백엔드' 카테고리의 다른 글

19) JSP 내장객체  (0) 2020.08.03
18) JSP 문법  (0) 2020.08.03
16) JSP란?  (0) 2020.07.30
15) Request, Response 객체 이해하기  (0) 2020.07.29
14) Servlet 라이프 싸이클  (0) 2020.07.26

댓글