Servlet中的三大事件监听器

一、 域对象监听器

监听三大域的创建和销毁

1.监听请求对象的创建和销毁

实现ServletRequestListener接口

requestInitialized方法:请求对象创建执行方法

requestDestroyed:请求对象销毁执行方法

请求对象的生命周期:

创建:客户端发送请求,Tomcat会创建请求对象

销毁:服务器返回响应,Tomcat会将请求对象销毁

2.监听会话域对象的创建和销毁

实现HttpSessionListener接口

sessionCreated:会话域创建执行方法

sessionDestroyed:会话域销毁执行方法

会话对象的生命周期:

创建:服务端使用到会话对象才会被创建

销毁:会话域对象过期时间到后会被销毁

3.监听全局域对象的创建和销毁

实现ServletContextListener接口

contextInitialized:全局域对象创建执行方法

contextDestroyed:全局域销毁执行方法

全局域对象的生命周期:

创建:服务器创建时

销毁:服务器正常关闭时

二、属性监听器

监听三大域属性值的增加修改和删除

1.监听请求域对象属性的添加、删除、替换

实现ServletRequestAttributeListener接口

attributeAdded:请求域对象属性的添加

attributeRemoved:请求域对象属性的删除

attributeReplaced:请求域对象属性的替换

2.监听会话对象属性的添加、删除、替换

实现HttpSessionAttributeListener接口

attributeAdded:会话对象属性的添加

attributeRemoved:会话对象属性的删除

attributeReplaced:会话对象属性的替换

3.全局域对象属性的添加、删除、替换

实现ServletContextAttributeListener接口

attributeAdded:局域对象属性的添加

attributeRemoved:局域对象属性的删除

attributeReplaced:局域对象属性的替换

三、 监听HttpSession中的对象(JavaBean)

1.监听session域中javaBean对象的绑定(添加)和解绑(删除)

实体类实现HttpSessionBindingListener接口

理解:监听该类(User)对象在session中的绑定(添加)和解绑(删除)

valueBound -- 绑定方法

valueUnbound -- 解绑方法

2.监听session域中javaBean对象的钝化(序列化)和活化(反序列化)

实体类实现HttpSessionActivationListener, Serializable接口

理解:监听该类(User)对象在session中的钝化(序列化)和活化(反序列化)

sessionWillPassivate -- 钝化(序列化):将类(User)对象写入到文件

sessionDidActivate -- 活化(反序列化):将文件里的对象读取到程序中

注意:

实现session的钝化和活化底层使用到了ObjectInputStream、ObjectOutputStream

钝化和活化的JavaBean对象必须实现Serializable(序列化接口)

四、面试题

面试题:Session中的JavaBean对象什么情况下会钝化 session未过期 JavaBean对象所属的类必须实现Serializable接口 服务器正常关闭 !!以上三个条件必须都满足!! 面试题:Session中的JavaBean对象什么情况下不会钝化 1.session对象过期 2.session.invalidate(); 3.服务器非正常关闭 !!以上三个条件满足一个即可!! 面试题:Session中的JavaBean对象什么情况下不会活化 服务器启动,但是session对象过期了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晓风L

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

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

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

打赏作者

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

抵扣说明:

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

余额充值