Servlet - ServletContextAttributeListener
application範囲の属性変更を監視するServletContextAttributeListenerを実装する。
ServletContextListenerImp.java |
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.annotation.WebListener;
@WebListener
public class ServletContextAttributeListenerImp implements ServletContextAttributeListener {
// application属性追加リスナー
@Override
public void attributeAdded(ServletContextAttributeEvent arg0) {
// TODO 自動生成されたメソッド・スタブ
System.out.println("application属性が追加されました。");
}
// application属性削除リスナー
@Override
public void attributeRemoved(ServletContextAttributeEvent arg0) {
System.out.println("application属性が削除されました。");
}
// application属性置換リスナー
@Override
public void attributeReplaced(ServletContextAttributeEvent arg0) {
System.out.println("application属性が置換されました。");
}
}
|
ServletContextListenerImp.java |
import java.io.IOException;
import java.io.PrintStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns="/chageContextAttributeServlet")
public class ChageContextAttributeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
ServletContext sc = getServletContext();
//application 属性変更 sc.setAttribute("name", "alex");
sc.setAttribute("name", "john");
sc.removeAttribute("name");
// requestの文字コード
request.setCharacterEncoding("UTF-8");
// set responce contecTtype
response.setContentType("text/html;charset=UTF-8");
// output stream
PrintStream out = new PrintStream(response.getOutputStream());
out.println("<html>");
out.println("<title>");
out.println("it is change context attribute servlet.");
out.println("</title>");
out.println("<br/>");
out.println("</html>");
}
}
|
出力されるメッセージ |
application属性が追加されました。
application属性が置換されました。
application属性が削除されました。
|