2019년 10월 9일 수요일

웹 어플리케이션 로딩시 특정 클래스 먼저 로딩/실행하기. ( WEB.xml)

웹서버를 띄울때 특정 클래스를 실행 후 서비스를 하고 싶을경우.

예 )  서버 구동시 SQL 실행하여 특정 작업을 할때
       버전 체크 등의 작업

샘플

web.xml

1
2
3
4
5
    <servlet>
        <servlet-name>CrunchifyTutorials</servlet-name>
        <servlet-class>org.tmt.core.test.CrunchifyServletExample</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
cs
java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.Logger;
public class CrunchifyServletExample extends HttpServlet{
    /** Logger */
    final static Logger log = Logger.getLogger(CrunchifyServletExample.class);
    
    
    public void init() throws ServletException
    {
          System.out.println("----------");
          System.out.println("---------- CrunchifyServletExample Initialized successfully ----------");
          System.out.println("----------");
    }
    
    
}


cs

톰캣서버 실행시 
<load-on-startup>1</load-on-startup>


옵션에 의해 서버가 구동될때 CrunchifyServletExample 를 우선 실행하고 서버가 올라온다.



참고
https://crunchify.com/how-to-run-java-program-automatically-on-tomcat-startup/

댓글 없음:

댓글 쓰기