Servlet监听器/Session钝化和活化

原创 2016年06月02日 09:53:18

Servlet监听器平时用的比较少,但是还是有用的。

监听器一共有八个,分为3类

第一类:用来监听Request,Session,ServletContext的创建和销毁

ServletContextListener 用来监听ServletContext对象创建和销毁的监听器
HttpSessionListener 用来监听HttpSession对象创建和销毁的监听器
ServletRequestListener  用来监听ServletRequest对象创建和销毁的监听

这其中SessionListener牵扯到一个session钝化和活化的问题,在tomcat中,服务器的正常关闭会存储一个文件在work目录下,其中存储了session的信息,但是不会包含类信息,如果想要钝化类信息,存储在session中的类需要实现Serializable接口,当服务器开启的时候会找到之前的SESSIONS.ser文件从中恢复之前保存起来的session

第二类:用来Request,Session,ServletContext的属性变化(即get/set方法)

ServletContextAttributeListener
HttpSessionAttributeListener 
ServletRequestAttributeListener

第三类:Javabean的状态变化

HttpSessionBindingListener ,bean被绑定/解除到session

HttpSessionActivationListener ,bean被钝化/活化

这三类监听器需要注意的是,前两种都需要先创建一个类实现接口然后在web.xml中注册监听器

<listener>  
  
       <listener-class>类的全路径名</listener-class>  
  
</listener>  
这些文件在后期会被加载然后在执行到某个方法时调用

而第三类监听器关闭javabean的状态变化不是这样调用的,也不是这样注册的,他是自己调用自己

只需要目标bean实现第三类中的两个接口就可以了,在状态改变时,会调用自己的从Listener继承来的方法,实现监听的效果

版权声明:本文为博主原创文章,未经博主允许不得转载。

session的钝化机制以及Tomcat中两种Session钝化管理器

1,绑定到Session中的 对象有多种状态,分别是   绑定   解除绑定     钝化    活化。 绑定 是保存,通过session.setattribute把对象保存到session的对象当...

Tomcat实现Session对象的持久化原理及配置方法介绍

对 于一个企业级应用而言,Session对象的管理十分重要。Sessio对象的信息一般情况下置于服务器的内存中,当服务器由于故障重启,或应用重新加载 时候,此时的Session信息将全部丢失。为了...
  • Zhaky
  • Zhaky
  • 2016年03月15日 17:47
  • 4665

对于session序列化跟session的钝化与活化的粗浅理解

1. API对序列化的解释:类通过实现 java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。...

win8/win10 禁用ctrl+alt+方向键

状况 Win10系统下,在Intellij idea中使用快捷键 Ctrl + Alt + ↓ 复制代码段的时候神奇的情况出现了,屏幕显示倒转了,我也只能是一脸懵逼,Win7下没有这个问题。经验...

监听器 HttpSessionBindingListener ;HttpSessionActivationListener; session的活化与钝化

User: package listener01; import javax.servlet.http.HttpSessionActivationListener; import javax.se...

黑马day14 监听器之javaBean对象的活化和钝化

javaBean对象的活化和钝化: 如果将一个属性如String类型的字符串放到session域中,或者一个Person类放到session域中,要想实现session的钝化和活化,则这个javaB...

javaEE之--------------session的活化与钝化

session的活化与钝化就是当用户访问时网站异常,不能丢掉session,所有也必须采用文件存储;和之前那个统计网站访问量一样的原理。  class Person implementsHttpSes...

session钝化与活化

Javaweb session的钝化与活化

Session活化和钝化,要实现Serializable接口

Session其实就是一个Map 设置tomcat维护的session的个数:        同时还要设置一个类,可以将一个类添加到sesson中去。 第一步:必须要...

JavaWeb之Session的序列化和反序列化 && Session的活化和钝化

应用场景: 1.一般来说,服务器启动后,就不会再关闭了,但是如果逼不得已需要重启,而用户会话还在进行相应的操作,这时就需要使用序列化将session信息保存起来放在硬盘,服务器重启后,又重新加载。这样...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Servlet监听器/Session钝化和活化
举报原因:
原因补充:

(最多只允许输入30个字)