Java Servlet 监听器

监听器由Web容器管理,可监听容器有效期事件,利用Listener接口监听容器中执行程序并响应。介绍了两种配置方法,一是在web.xml中配置,二是使用注解方法@WebListener。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监听器的作用是监听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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书香水墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值