Servlet监听器
来源:互联网 发布:手机宠物软件 编辑:程序博客网 时间:2024/05/28 03:02
Servlet监听器1)概念:1)监听ServletContext、HttpSession和ServletRequest等域对象的创建事件、销毁事件、域对象中属性发生改变的事件。2)当域对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。2)监听对象:1)ServletContext2)HttpSession3)ServletRequest3)监听内容:监听对象的创建、销毁以及对象属性发生改变的事件4)分类:按监听的对象划分:1)ServletContext对象监听器:实现ServletContextListener、ServletContextAttributeListener接口应用:作为定时器、加载全局属性对象、创建全局数据库连接、加载缓存信息等2)HttpSession对象监听器:实现HttpSessionListener、HttpSessionAttributeListener接口web.xml中配置session超时时间(单位:分):<session-config><session-timeout>10</session-timeout></session-config>应用:统计在线人数、记录访问日志等3)ServletRequest对象监听器:实现ServletRequestListener、ServletRequestAttributeListener接口应用:读取request参数,记录访问历史按监听的事件划分:1)监听域对象的创建事件、销毁事件的监听器:实现ServletContextListener、HttpSessionListener、ServletRequestListener接口2)监听域对象中属性的增加事件、属性的删除事件的监听器:实现ServletContextAttributeListener、HttpSessionAttributeListener、ServletRequestAttributeListener接口。3)监听绑定到HttpSeesion中的某个对象的状态变化事件的监听器(创建普通JavaBean):实现接口及方法:HttpSessionBindingListener接口(valueBound和valueUnbound方法)、HttpSessionActivationListener接口(sessionWillPassivate和sessionDidActivate方法) HttpSession中的对象状态: 绑定: 通过setAttribute()方法将bean保存到session对象中 解除绑定:通过removeAttribue()方法解除绑定 钝化(序列化): 将session对象持久化到存储设备上 活化(反序列化):将session对象从存储设备上进行恢复 session钝化机制: 1)把服务器不常使用的session对象暂时序列化到系统文件或者是数据库中,当使用时反序列化到内存中,整个过程由服务器自动完成; 2)session的钝化机制由SessionManager管理,创建一个普通的JavaBean绑定和解除需要实现HttpSessionBindingListener接口3)JavaBean必须实现Serializable接口5)实现:web.xml<listener><listener-class>完整类名</listener-class></listener>举例:<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><listener><listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class></listener><listener><listener-class>org.springframework.web.context.request.RequestContextListener</listener-class></listener><session-config><session-timeout>60</session-timeout></session-config>监听器的启动顺序:按照web.xml的配置顺序来启动6)注意:加载顺序:监听器>过滤器>Servlet
阅读全文
0 0
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- servlet 监听器
- servlet监听器
- Servlet监听器
- servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- Servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- servlet监听器
- UITextField 日常使用一些特别的地方
- struts2之resultType
- SQLPLUS如何切换数据库
- J
- 关于error: Unable to find vcvarsall.bat
- Servlet监听器
- Android蓝牙API使用指南
- Ubuntu/Centos下Java环境配置
- Mac之安装并使用Homebrew
- NoClassDefFound解决方法
- 为“国饭”争光! 黄焖鸡饭进军美国~
- Linux df命令
- codeforces 264B Good Sequences
- 什么是例程?