Listener监听器总结

来源:互联网 发布:来自故宫的礼物 淘宝 编辑:程序博客网 时间:2024/06/05 10:20

1.Listener这里有两种
ServletContextListener (接口)和HttpSessionActivationListener
1.1
(1)写一个类,实现了ServletContextListener ,接口。并实现了其两个方法contextInitialized和contextDestroyed。就算完成了一个监听器
(2)要在web.xml中配置监听器,告诉服务器,监听器已经配置完毕。
配置如下

**<listener>  <listener-class>com.rupeng.web.MyServletContextListener(全类名)</listener-class>  </listener>**

这样项目start和stop的时候,会分别调用contextInitialized和contextDestroyed方法。
1.2HttpSessionActivationListener。
这个监听器,监听的是session属性的钝化与活化。
1.2.1什么是session的钝化与活化
序列化:对象→(特定规则)→二进制数据。必须实现Serializable接口才可以被序列化
反序列化:二进制数据→(特定规则)→对象
session的钝化,特殊的序列化。session对象序列化到硬盘上。(session的实现类已经实现了Serializable接口)。session可以直接钝化。
requset.getSession()。拿到HttpSession.
注意:session活化的时候,钝化的文件不会被立刻删除,而是等到
session到期以后和session一起被删除。
**1.2.2**session的属性随着session一起钝化或者活化。所以session的属性类也需要实现Serializable接口才可以随着session一起钝化或者活化。
1.2.3 如果要监听某一个属性的session钝化与活化,属性类不仅仅实现Serializable接口,还需要实现HttpSessionActivationListener接口。
sessionWillPassivate方法和sessionDidActivate方法。会在属性钝化和活化的时候被调用。

原创粉丝点击