ServletContextListener は ServletContextEvent をハンドルします。
ServletContextEvent はコンテキストの生成、削除を通知します。
下記のメソッドがあります。
contextInitialized(ServletContextEvent sce)
contextDestroyed(ServletContextEvent sce)
アプリケーション共通の情報をセットする出来ます。
各ページで共通の情報を利用できます。
分散環境では各 JVM に1つずつ SevletContext がつくられるのでグローバル情報を ServletContext 属性などにセットすべきではないといわれます。
<サンプル>
web.xml
<listener>
<display-name>Context Listener</display-name>
<listener-class>listener.ListenerSample1</listener-class>
</listener>
_________
ListenerSample1.java
public class ListenerSample1 implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
context.setAttribute("message", "Hello");
}
public void contextDestroyed(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
context.removeAttribute("message");
}
}
_________
sample.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<c:out value="${applicationScope.message}" />
</body>
</html>
<出力結果>http://localhost:8080/SCWCD/sample.jsp
Hello
0 件のコメント:
コメントを投稿