javaweb之监听器详解
2017-05-15 09:39
337 查看
在servlet中定义了多种类型的监听器,他们用于监听事件源分别是servletContext,httpsession,servletrequest 这三个域对象。servlet中监听器主要有三类:1,监听三个域对象的创建和销毁的监听器(3个 ),servletContextListenlisten监听器:用来监听servletcontxt域对象的创建和销毁的监听器:创建:在服务器启动的时候,为每个web应用创建单独的ServletContext对象。 contextInitialized用来监听创建 销毁:在服务器关闭的时候,或者项目从web服务器中移除的时候。contextDsttroyed用来监听销毁[b]创建监听器就是新建一个类然后实现servletContextListen
[/b]
然后在配置xml(用eclipse创建lissten文件系统会自动生成)<listener><listen_class>监听器名称的全路径</></listener>
套路同上
2,监听三个域对象的属性变更(属性添加,移除,替换)的监听器(3个)
l 配置完成session的序列化和反序列化Context标签可以配置在:tomcat/conf/context.xml:所有tomcat下虚拟主机和虚拟目录下的工程都会序列化sessiontomcat/conf/Catalina/localhost/context.xml:localhost虚拟主机下的所有项目会序列化session工程/META-INF/context.xml:当前工程才会序列化session。<Context><Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1"><Store className="org.apache.catalina.session.FileStore" directory="itheima"/></Manager></Context> 保存在Session域中的Java类可以有多种状态:绑定到session中;从session中解除绑定;随session对象持久化到一个存储设备中(钝化);随session对象从一个存储设备中恢复(活化)。
[/b]
然后在配置xml(用eclipse创建lissten文件系统会自动生成)<listener><listen_class>监听器名称的全路径</></listener>
HttpSessionListener监听器
用来监听HttpSession对象的创建和销毁 n 服务器端第一次调用getSession()方法时候。 l 销毁: n 非正常关闭服务器(正常关闭服务器session会被序列化)。 n Session过期(默认过期时间30分钟)。 n 手动调用session.invalidate()方法。套路同上
ServletRequestListener监听器
l 用户监听ServletRequest对象的创建和销毁 l 创建 n 从客户端向服务器发送一次请求,服务器就会创建request对象。 l 销毁 服务器对这次请求作出了响应之后,request对象就销毁了。2,监听三个域对象的属性变更(属性添加,移除,替换)的监听器(3个)
ServletContextAttributeListener
l 监听ServletContext对象中的属性变更(属性添加,移除,替换)的监听器HttpSessionAttributeListener
l 监听HttpSession对象中的属性变更(属性添加,移除,替换)的监听器ServletRequestAttributeListener
l 监听ServletRequest对象中的属性变更(属性添加,移除,替换)的监听器 3,监听httpsession中Javabean的状态改变(钝化,活化,绑定,解绑)的监听(2个)保存在Session域中的Java类可以有多种状态:绑定到session中;从session中解除绑定;随session对象持久化到一个存储设备中(钝化);随session对象从一个存储设备中恢复(活化)。Servlet对方中定义了两个特殊的监听的接口来帮助Java类了解自己在Session域中的状态:HttpSessionBindingListener接口HttpSessionActivationListener接口,实现这两个接口的类不需要在web.xml中进行配置。HttpSessionBindingListener监听器:
监听Java类在HttpSession中的绑定和解除绑定的状态的监听器:HttpSessionActivationListener监听器
监听HttpSession中Java类的钝化和活化监听器l 配置完成session的序列化和反序列化Context标签可以配置在:tomcat/conf/context.xml:所有tomcat下虚拟主机和虚拟目录下的工程都会序列化sessiontomcat/conf/Catalina/localhost/context.xml:localhost虚拟主机下的所有项目会序列化session工程/META-INF/context.xml:当前工程才会序列化session。<Context><Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1"><Store className="org.apache.catalina.session.FileStore" directory="itheima"/></Manager></Context> 保存在Session域中的Java类可以有多种状态:绑定到session中;从session中解除绑定;随session对象持久化到一个存储设备中(钝化);随session对象从一个存储设备中恢复(活化)。
相关文章推荐
- java web 监听器详解
- java web 监听器详解
- java web 监听器详解
- java web 监听器详解
- javaweb之监听器详解
- java web 监听器详解
- java web 监听器listener详解
- java web 监听器详解
- Java Web 监听器详解
- java web 监听器详解
- java web 监听器详解
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- java-web国际化开发基础和实现国际化显示的登入页面详解
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- Java程序员从笨鸟到菜鸟之(二十一)java过滤器和监听器详解
- myeclipse javaweb开发环境配置详解
- JavaWeb 之 XML文档的DOM和SAX解析方式详解
- java web listener 监听器
- java web listener 监听器
- JavaEE Web开发之Filter和Listener(过滤器和监听器)