MVC 모델 - 웹 어플리케이션 실행, JSP 파일의 Servlet 파일로의 자동 변환

서희찬·2023년 10월 25일
0

웹프로그래밍

목록 보기
13/30
post-custom-banner

실실행순서 - 1

  • HTML(정적 컨텐츠) Request/Response 순서

실실행순서 - 2

  • Servlet Request/Response 순서

JSP의 처리 과정 및 Servlet과의 관계

JSP 파일을 최초 요청 시의 동작 과정

  • Tomcat에 의해 JSP 파일을 Servlet이 포함된 Java 소스 파일로 변환
  • Tomcat은 Servlet java 파일을 컴파일
  • 컴파일된 class 파일을 JSP/Servlet 컨테이너인 Tomcat 내에서 실행
  • 그후, 결과를 최종적으로 웹 브라우저로 전달
  • JSP 파일의 Servlet 파일로의 자동 변환
Tomcat\webapps\testWeb\my\package\helloworld.jsp
  • 서블릿 코드 변환 및 컴파일 확인
Tomcat\work\Catalina\localhost\testWeb\my\package\helloworld_jsp.java
Tomcat\work\Catalina\localhost\testWeb\my\package\helloworld_jsp.class

JSP -> Servlet 자동 변환

<%@ page contentType="text/html;charset=utf-8" %>
<htm|>
	<body>
      	<% out.printin( Hello World!"); %> <br/>
		<% out.printIn("안녕하세요."); %>
	</body>
</htm|>

이와 같은 JSP파일이 아래와 같이

package my.package;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
public final class helloworld_jsp extends org.apache.jasper.runtime.HttpJspBase

implements org.apache.jasper.runtime.JspSourceDependent {
        // ... 중간 생략 ...
    public void _jspInit() {
		// ... 중간 생략 ...
		}
	public void
		_jspDestroy() {
		// ... 중간 생략 ...
		}
	public void _jspService(HttpServletRequest request, HttpServletResponse response)
    				throws java.io.IOException, ServletException 
                    ...
                    

JSP 파일의 Servlet 파일로의 자동 변환-계속

out 객체의 write 메소드와 println 메소드 가 JSP 파일의 내용을 출력시켜주는 역할 을 수행

JSP를 Servlet으로 바꾸어서 컴파일을 진행한다.

JSP 파일 재요청 시의 동작 과정

  • Java 변환 및 컴파일 : JSP파일을 처음 요청했을 때만 일어남
  • 요청했던 JSP파일을 재요청 시 : 이미 메모리에 적재된 클래스를 재실행
  • JSP로 작성된 웹 페이지 응답은 하드디스크 접근 없이 메모리에서 바로 응답
  • 평균 응답 시간이 매우 짦음

처리 및 흐름 과정

JSP 파일 수정 시 - JSP 재요청시의 동작 과정

  • JSP를 수정하면 Tomcat이 자동으로 변환 및 컴파일 수행

해당 되는 Jsp와 memory에 있는 class를 비교하여 class가 jsp보다 더 오래전에 만들어져있는지 계속 비교 한다.

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)
post-custom-banner

0개의 댓글