ejyoo's 개발 노트

JSP&Servlet -> web.xml 의 load-on-startup 기능 본문

BackEnd/JSP_Servlet

JSP&Servlet -> web.xml 의 load-on-startup 기능

ejyoovV 2021. 6. 2. 19:36

서블릿은 브라우저에서 최초 요청 시 init() 메서드를 실행한 후 메모리에 로드되어 기능을 수행한다.

따라서 최초 요청이 있어야하며, 때에따라 실행 시간이 길어질 수 있는 단점이 있다.

이런 단점을 보완하기 위해 생긴 기능이 load-on-startup 기능이다.

 

load-on-startup의 특징

- 톰캣 컨테이너가 실행되면서 미리 서블릿을 실행

- 지정한 숫자가 0 보다 크면 톰캣 컨테이너가 실행되면서 서블릿이 초기화된다.

- 지정한 숫자는 우선순위를 의미하며, 작은 숫자부터 먼저 초기화된다.

 

load-on-startup 기능 구현 방법

- 애너테이션 설정

- web.xml 설정

 

 

애너테이션 이용한 방법

@WebServlet(name="frontServletApp", urlPatterns={"/FrontServlet"}, loadOnStartup = 1)
public class LoadAppConfig extends HttpServlet{
 ... 코드 생략 ...

 

web.xml 이용한 방법

<load-on-startup></load-on-startup>

<servlet>
    <servlet-name>FrontServlet</servlet-name>
    <servlet-class>kr.or.ddit.controller.FrontServlet</servlet-class>
    <init-param>
      <param-name>handlerMapper</param-name>
      <param-value>kr.or.ddit.controller.HandlerMapper</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>FrontServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>