码迷,mamicode.com
首页 > Web开发 > 详细

web的八大监听器

时间:2020-09-08 21:05:58      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:servlet   行操作   bean   listen   app   tor   org   需要   attribute   

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

要使用这六个监听器时候步骤如下:

    1、建立一个类去实现要使用监听器的接口;

    2、在webapp文件夹下WEB-INF下的web.xml中进行配置;

          ①、ServletContextListener

          ②、HttpSessionListener

          ③、ServletRequestListener

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

          ④、ServletContextAttributeListener

          ⑤、HttpSessionAttributeListener

          ⑥、ServletRequestAttributeListener

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

二、对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>

 

web的八大监听器

标签:servlet   行操作   bean   listen   app   tor   org   需要   attribute   

原文地址:https://www.cnblogs.com/study-ai/p/13579456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!