본문 바로가기

WEB개발/WEB, WAS

Tomcat - Jasper (JSP Engine)

 

기호 의믜 설명
^ 문자열의 시작 문자열이 특정 문자로 시작함을 의미
- 문자가 1번 이상 발생 문자가 1번 이상 발생
* 문자열의 끝 문자열이 특정 문자로 끝남을 의미
+ 임의의 한 문자 문자가 1번 이상 발생
- 문자가 0번 이상 발생 문자가 1번 이상 발생

 

 

실제 JSP 페이지의 요청을 처리하는 Servlet

요청할때 클래스 생성하고 컴파일해줌 -> 수행성능은 느림 but 코드가 달라져도 알아 서 컴파일해줌

  1. HTTP 요청을 Coyote에서 받아서 Catalina로 전달합니다.

  2. 그러면 Catalina (Servlet Container)에서 전달받은 HTTP 요청을 처리할 웹 어플리케이션 (Context)를 찾고, WEB-INF/web.xml 파일 내용을 참조하여 요청을 전달합니다.

  3. 요청된 Servlet을 통해 생성된 jsp 파일들이 호출될 때, Jasper (JSP Engine)이 Validation Check / Compile 등을 수행합니다

  4. 이미 컴파일된 JSP는 재사용되므로, 동일한 JSP가 다시 요청되면 컴파일 과정 없이 캐시된 서블릿이 실행됩니다.

 

web.xml

<servlet>
  <servlet-name>jsp</servlet-name>
  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
  <init-param>
    <param-name>configFile</param-name>
    <param-value>/WEB-INF/jasper-configuration.xml</param-value>
  </init-param>
  <load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>jsp</servlet-name>
  <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

 

 

catalina.properties에서 $CATALINA_BASE 설정되며  JSP 파일은 $CATALINA_BASE/work 디렉토리에 컴파일된 서블릿 클래스로 변환되어 저장됩니다. 이 디렉토리 및 관련 설정은 **web.xml**과 **catalina.properties**에서 조정할 수 있습니다. 또한, JSP 캐싱 및 재컴파일 설정도 web.xml 파일에서 다룰 수 있습니다.

 

예시)

 

 

 

.metadata\.plugins\org.eclipse.wst.server.core\tmp0  > 배포장소

.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\....  > jsp배포장소 (class형태로)

 

 

'WEB개발 > WEB, WAS' 카테고리의 다른 글

코헤런스 (Coherence)  (0) 2025.03.26
HTTP Authentication  (0) 2025.03.25
Class Loader & Hot Deploy  (0) 2021.09.23
Jenkins & SVN or Git & Docker  (0) 2021.07.29
TheadLocal & MDC & Log4j2  (0) 2021.07.26