servlet监听器完全详细资料

一、 Servlet 中对象作用域

1、   ServletContext 上下文

应用服务器一启动就产生该对象,服务器关闭即销毁

作用于全局,所有 Servlet , 相当于静态变量

2、   HttpSession 会话

客户端第一次请求产生, session 过期销毁

作用于同一个客户端,相当于成员变量

3、   ServletRequest 请求

一次请求产生一个对象,请求结束即销毁

作用于同一次请求,相当于局部变量

二、 Servlet 监听器

                     工作流程:

                              (1) 确定事件源

(2) 写一个类,实现 Servlet 监听器接口,并从写接口里面的方法

(3) web.xml 里注册建立联系,

<listener>

       <listener-class>Servlet 类事件源全路径 </listener-class>

</listener>

(4) 事件源触发事件,监听器调用相应方法

           1 ServletContext 事件

                1 ServletContextListener 接口,用于监听 ServletContext 的创建与销毁

                     相应方法:

                     void contextInitialized(ServletContextEvent   e); ServletContext 创建触发

                     void contextDestroyed(ServletContextEvent  e); ServletContext 销毁触发

 

                2 ServletContextAttribyteListener 接口,用于监听 ServletContext 属性状态

                                  

                  相应方法:

                   void attributeAdded(ServletContextEvent  e); ServletContext 属性加入触发

                            context.setAttribute(“a”,”b”);

                       void attributeRemovd(ServletContextEvent  e); ServletContext 属性删除触发

                            context.removeAttribute(“a”,);

                       void attributeReplaced(ServletContextEvent  e); ServletContext 属性修改触发

                            context.setAttribute(“a”,”c”);

                2 HttpSession 事件

                     1 HttpSessionListener 接口,用于监听 session 的创建与销毁

                            相应方法:

                            void sessionCreated(HttpsessionEvent e)   session 创建触发

                            void sessionDestroyed (HttpsessionEvent e)   session 销毁触发

                     2 HttpSession AttributeListener 接口,用于监听 session 属性状态

                                   相应方法:同 ServletContextAttribyteListener

 

 

                     3 HttpSessionBindingListener 接口,用于监听绑定对象到 Session 属性监听

                                   唯一一个不用在 web.xml 里注册的监听接口

                            绑定

                            Ression.setAttribute(“a”, 实现该接口的对象 )

                                   触发 void valueBound(HttpSessionBindingEvent  e); 方法

                            移除:

                            Ression.removeAttribute(“a”)

                                   触发 void valueUnbound(HttpSessionBindingEvent  e); 方法

 

3    SercletRequest 事件

           1 ServletRequestListener 接口 用于监听 request 的销毁与创建

           2 ServletRequesAttributetListener 接口 用于监听 request 的属性状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值