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");
}