监听器 Listener
2024-08-26 07:51:20
监听器:监听某个对象状态的变化
被监听的对象:request、session、servletContext
监听对象的创建和销毁/对象属性的变化
ServletContext | HttpSession | ServletRequest |
ServletContextListener | HttpSessionListener | ServletRequestListener |
ServletContextAttributeListener | HttpSessionAttributeListener | ServletRequestAttributeListener |
与session相关的监听器,监听session中的对象
HttpSessionBindingListener 对象在session绑定或对象从session中解绑
HttpSessionActivationListener 对象的钝化与活化,(大访问量时考虑将session持久化)
这两个接口是绑到对象中的,不需要在web.xml中配置
钝化:将session持久化到磁盘
活化:将session从磁盘到内存
tomcat的钝化:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- maxIdleSwap:session中的对象多长时间不使用就钝化 单位:分钟 -->
<!-- directory:钝化后的对象的文件写到磁盘的哪个目录下 配置钝化的对象文件在work/catalina/localhost/钝化文件 -->
<Manager
className="org.apache.catalina.session.PersistentManager"
maxIdleSwap="1">
<Store className="org.apache.catalina.session.FileStore"
directory="demo01" />
</Manager>
</Context>
package cn.sasa.domain; import java.io.Serializable; import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
import javax.servlet.http.HttpSessionEvent; //HttpSessionBindingListener--- Customer对象绑定到session或从session解绑
//HttpSessionActivationListener---钝化/活化。钝化:将session持久化到磁盘。活化:session从磁盘到内存。(大访问量时可将session设置持久化)
//Serializable 序列化到磁盘
public class Customer implements HttpSessionBindingListener, HttpSessionActivationListener,Serializable{ private static final long serialVersionUID = 1L; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} private String name; public void valueBound(HttpSessionBindingEvent event) {
System.out.println("cus 绑定");
} public void valueUnbound(HttpSessionBindingEvent event) {
System.out.println("cus 解绑");
}
//钝化
public void sessionWillPassivate(HttpSessionEvent se) {
System.out.println("Customer passivate");
} //活化
public void sessionDidActivate(HttpSessionEvent se) {
System.out.println("Customer Activate");
} }
最新文章
- ubuntu 14.04 修改网络配置
- DIOCP之编写第一个应用程序(一)
- Java程序员的日常—— 基于类的策略模式、List<;?>;与List、泛型编译警告、同比和环比
- win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:
- VPN连接错误800的解决办法
- Python培训12期-day2作业-购物车
- 设置UWP程序自启动(Automate launching Windows 10 UWP apps)
- JavaScript面向对象编程(一)原型与继承
- java基础之基础语法详录(一)
- 学java网络编程的心得体会
- 业余草推荐18个Java开源免费的CMS系统
- 【Ubuntu 16】网络配置文件
- MongoDb 入门教程
- Node Inspector 代理实现
- hadoop环境运行程序出现 Retrying connect to server 问题
- [Swift]LeetCode1007. 行相等的最少多米诺旋转 | Minimum Domino Rotations For Equal Row
- 四、Java多人博客系统-2.0版本
- PTA——组合数
- Android按键添加和处理的方案
- Adobe After Effects CS6 操作记录