티스토리 뷰

사용용도 : 웹 어플리케이션의 최초 시작시 초기화 작업이나 종료 작업에 쓰임(DB의 커넥션 객체를 가져온다거나 등의..)

 

 

관련 인터페이스 : ServletContextListener

 

 

관련 클래스 : -

 

 

사용법 :

1. ServletContextListener인터페이스를 구현하는 클래스를 작성한뒤

   초기화작업 메서드 contextInitialized(ServletContextEvent sce)

   종료작업 메서드 contextDestroyed(ServletContextEvent sce)

   를 오버라이딩해준다.

   (사용해보니 톰캣을 시작 할때 최초 1번 contextInitialized를 수행했고, 톰캣을 재시작 했을 때 1번   

    contextDestroyed가 수행됐다. 톰캣을 종료할 때는 수행 되지않았다.)

 

 

2. 오버라이딩한 메서드에 수행할 작업을 코딩한 후 web.xml에 리스너로 등록한다.

 

 

 

ServletContextListener를 구현받아 작성한 클래스(실제 리스너에 적용할 클래스)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.choon.servlet;
 
import java.util.Enumeration;
 
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
 
public class ServletContextTest implements ServletContextListener{
 
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ServletContext sc = sce.getServletContext();
        Enumeration e = sc.getInitParameterNames();
        String test = (String)sc.getInitParameter("contextTest");
        System.out.println(test);
        System.out.println(test);
    }
 
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("디스트로이메서드");
        System.out.println("디스트로이메서드");
        System.out.println("디스트로이메서드");
        System.out.println("디스트로이메서드");
        System.out.println("디스트로이메서드");
    }
 
}
 

 

 

web.xml등록

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
    <listener>
        <listener-class>com.choon.servlet.ServletContextTest</listener-class>
    </listener>
<!-- 실제 수행 할 리스너이벤트-->
 
    <context-param>
        <param-name>contextTest</param-name>
        <param-value>테스트값입니다</param-value>
    </context-param>
<!-- 초기화 파라미터로써 ServletContext에 파라미터를 보낸다 -->
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
more
Total
Today
Yesterday