listener存在兩個接口
1、ServletContextListener
2、HttpSessionListener
解釋一下:
實現ServletContextListener的類,需要實現兩個方法:contextInitialized和contextDestroyed。
由於servletContext在整個應用的生命週期中只有一個實例,並且伴隨容器啓動而初始化和容器關閉而銷燬,所以context一般作爲緩存的初始化或者應用啓動時候的預處理工作。
servletContext實例獲取爲:
public void contextInitialized(ServletContextEvent event) {
context = event.getServletContext();
...
}
在javaBean中獲取servletContext方法爲:servlet.getServletConfig().getServletContext();
在jsp中獲取servletContext方法爲:application.getContext("");
實現HttpSessionListener的類,需要實現兩個方法:sessionCreated和sessionDestroyed。
sessionCotenxt在session創建的時候觸發sessionCreated和session銷燬的時候觸發sessionDestroyed。故而HttpSessionListener一般用來記錄在線人數。
sessionContext的實例獲取爲:
public void sessionCreated(HttpSessionEvent se) {
sc=se.getSession().getServletContext();
System.out.println("新建一個session");
}