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
<%@ 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
...
out 객체의 write 메소드와 println 메소드 가 JSP 파일의 내용을 출력시켜주는 역할 을 수행
JSP를 Servlet으로 바꾸어서 컴파일을 진행한다.
- Java 변환 및 컴파일 : JSP파일을 처음 요청했을 때만 일어남
- 요청했던 JSP파일을 재요청 시 : 이미 메모리에 적재된 클래스를 재실행
- JSP로 작성된 웹 페이지 응답은 하드디스크 접근 없이 메모리에서 바로 응답
- 평균 응답 시간이 매우 짦음
해당 되는 Jsp와 memory에 있는 class를 비교하여 class가 jsp보다 더 오래전에 만들어져있는지 계속 비교 한다.