javaweb的八大Listener(监听器)

1、对servletContext、request、session域的监听器(六个监听器)

要使用这六个监听器时候步骤如下:
1、建立一个类去实现要使用监听器的接口;
2、在web.xml中进行配置;

①、ServletContextListener
②、HttpSessionListener
③、ServletRequestListener

这三个是监听器是对servletContext、request、session这三个域的开启和关闭进行监听。(里面需要实现两个事件:创建和销毁)
④、ServletContextAttributeListener
⑤、HttpSessionAttributeListener
⑥、ServletRequestAttributeListener

这三个是监听器是对servletContext、request、session这三个域中对象的修改、添加、删除进行监听(里面要实现三个事件修改、添加、删除)。

2、对session域的中感知监听器(两个)

使用这两个监听器时不需要在web.xml中进行配置。

①、HttpSessionBindingListener
这个是需要先创建一个bean对象类让对象类实现HttpSessionBindingListener接口中的绑定和解绑事件,每当session中存入该对象时候HttpSessionBindingListener的绑定事件就会运行,而每当session中的该对象移除时候解绑事件就会运行。
②、HttpSessionActivationListener
这个也是需要先创建一个bean对象类让对象类实现HttpSessionActivationListener接口中的钝化和活化这两个事件,在实现这个接口同时还得实现Serializable序列化这个接口,这样才能实现钝化后活化。(钝化:就是将session中已经存在的对象从session内存挪到磁盘中,活化:就是将磁盘中的session中的对象挪到内存中,钝化和活化可以运用到网站优化上,当用户长时间登陆网站不进行操作的时候就可以将这个用户的session对象进行钝化)想要自己设置钝化时间操作时,要在项目的META-INF下新建context.xml文件在这个里面进行配置,配置如下:

<Context>
 <!-- maxIdleSwap:session中的对象多长时间不使用就钝化 -->
 <!-- directory:钝化后的对象的文件写到磁盘的哪个目录下  配置钝化的对象文件在                                             work/catalina/localhost/钝化文件 -->
 <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1">
  <Store className="org.apache.catalina.session.FileStore" directory="填上自己的文件名" />
 </Manager>
</Context>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值