Java Servlet 监听器

监听器的作用是监听Web容器的有效期事件,因此它是由容器管理的。利用Listener接口监听在容器中的某个执行程序,并且根据其应用程序的需求做出适当的响应。

Listerner接口 描述
ServletContextListener 监听ServletContext对象的创建、删除
void contextInitialized(ServletContextEvent var1);Web容器创建初始化时执行
void contextDestroyed(ServletContextEvent var1);Web容器销毁时执行
ServletContextAttributeListener 监听ServletContext对象属性的添加、删除和修改操作
void attributeAdded(ServletContextAttributeEvent var1);当有对象加入上下文范围时执行
void attributeRemoved(ServletContextAttributeEvent var1);当有对象从上下文的范围移除时执行
void attributeReplaced(ServletContextAttributeEvent var1);在上下文的范围内有对象取代另一个对象时执行
HttpSessionListener 监听会话创建、销毁
void sessionCreated(HttpSessionEvent var1);HttpSession初始化时执行
void sessionDestroyed(HttpSessionEvent var1);HttpSession销毁时执行
HttpSessionActivationListener 监听会话的active和passivate
void sessionWillPassivate(HttpSessionEvent var1);通知正在监听的对象,它的session已经变为有效状态
void sessionDidActivate(HttpSessionEvent var1);通知正在监听的对象,它的session已经变为无效状态
HttpSessionAttributeListener 监听会话中属性的设置请求
void attributeAdded(HttpSessionBindingEvent var1);当有对象加入session范围时执行
void attributeRemoved(HttpSessionBindingEvent var1);当有对象从session的范围移除时执行
void attributeReplaced(HttpSessionBindingEvent var1);在session的范围内有对象取代另一个对象时执行
HttpSessionBindingListener 监听会话中对象的绑定信息
void valueBound(HttpSessionBindingEvent var1);当有对象加入session的范围时会被自动调用
void valueUnbound(HttpSessionBindingEvent var1);当有对象从session的范围内移除时会被自动调用
ServletRequestListener 监听客户端请求
void requestInitialized(ServletRequestEvent event);ServletRequest初始化时执行
void requestDestroyed(ServletRequestEvent event);ServletRequest销毁时执行
ServletRequestAttributeListener 监听请求参数
void attributeAdded(ServletRequestAttributeEvent var1);有对象加入request的范围时执行
void attributeRemoved(ServletRequestAttributeEvent var1);当有对象从request的范围移除时执行
void attributeReplaced(ServletRequestAttributeEvent var1);在request的范围内有对象取代另一个对象时执行
Event类
ServletContextEvent
ServletContextAttributeEvent
HttpSessionEvent
HttpSessionBindingEvent
ServletRequestEvent
ServletRequestAttributeEvent
  • 示列
@WebListener
public class MyListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("容器创建成功!");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("容器已经销毁!");
    }
}
  • 配置
    一、web.xml中配置
 <listener>
    <listener-class>com.ygj.control.onLineCount</listener-class>
 </listener>

二、注解方法@WebListener

猜你喜欢

转载自blog.csdn.net/qq_27870421/article/details/89948415