http://java.scwcd.jobs4times.com |
- ServletContextListener
구현방법
- ServletContextListener를 implements 한다
- Abstract method 인 contextInitialized() 와 contextDestroyed()를 구현
- DD(web.xml)에 listener를 등록
구현
웹 컨테이너는
- 해당 웹어플리케이션이 시작될 때 contextInitialized() 메서드를 호출
- 웹어플리케이션 종료직전 contextDestroyed() 메서드를 호출한다
예제)
* DD (web.xml)
<listener>
<listener-class>listener.DriverLoader</listener-class>
</listener>
<context-param>
<param-name>driver</param-name>
<param-value>oracle.jdbc.driver.OracleDriver</param-value>
</context-param>
<context-param>
<param-name>url</param-name>
<param-value>jdbc:oracle:thin:@127.0.0.1:1521:xe</param-value>
</context-param>
<context-param>
<param-name>user</param-name>
<param-value>scott</param-value>
</context-param>
<context-param>
<param-name>pass</param-name>
<param-value>tiger</param-value>
</context-param>
* JDBC Driver를 Loader하는 클래스
public class DriverLoader implements ServletContextListener {
public DriverLoader() {
}
public void contextDestroyed(ServletContextEvent arg0) {
}
public static String url;
public static String user;
public static String pass;
public void contextInitialized(ServletContextEvent sce) {
String driver = sce.getServletContext().getInitParameter("driver");
url = sce.getServletContext().getInitParameter("url");
user = sce.getServletContext().getInitParameter("user");
pass = sce.getServletContext().getInitParameter("pass");
try {
Class.forName(driver);
System.out.println("contextInitialized oracle driver loading");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
| cs |
기존에 JDBC연결시 JDBC에 연결하던 부분을 이렇게
XML에 미리 등록후 나름 간편하게 사용할 수 있다.
이 밖에도 더 다양한 활요을 할 수 있을 것 같다.
0 개의 댓글:
댓글 쓰기