session的活化和钝化
session的活化与钝化就是当用户访问时网站异常,不能丢掉session,所有也必须采用文件存储;和之前那个统计网站访问量一样的原理。
class Person implements必须实现这两个接口,实现session活化和钝化的要求
活化:从硬盘上读取到内存中
纯化:从内存中写到硬盘上
HttpSessionActivationListener
实现此接口的JavaBean,可以感知自己被活化(从硬盘到内存)和钝化(从内存到硬盘)的过程。
如果需要同时保存Session中的JavaBean则JavaBean也要实现Serializable序列化接口。
实现此接口的JavaBean与HttpSessionBindingListener一样,不必配置到web.xml中。
import java.io.Serializable;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionEvent;
public class Person implements HttpSessionActivationListener,Serializable{
private static final long serialVersionUID = 1L;
private String name;
public Person(String name) {
this.name = name;
}
@Override
public void sessionWillPassivate(HttpSessionEvent se) {
System.out.println("一个Person对象钝化了呵呵...");
}
@Override
public void sessionDidActivate(HttpSessionEvent se) {
System.out.println("一个Person对象活化了呵呵...");
}
@Override
public String toString() {
return "Person [name=" + name + "]";
}
}
这个实现之后都不算什么,还需要配置文件。
配置文件可以写在tomcat的目录里面conf---》server.xml里面配置,但是里面配置会修改平台,
所以不建议使用。另一种方法:我们在conf----》Catalina------》localhost------》自定义一个xml文件,里面内容:
<Context path="/sessionActivation" docBase="E:/MyEclipse10_workspace/sessionActivation/WebRoot">
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="true" maxActiveSessions="1">
<Store className="org.apache.catalina.session.FileStore" directory="d:/a">
</Store>
</Manager>
</Context>
<!-- 以下是对上面的解释 -->
<!-- path为项目的目录 docbase 为myeclipse目录
className 不能变
saveOnRestart ="true" 能够进行存储
maxActiveSessions="n" n为最大的session数量
-->
这样就可以实现session的活化了。
自己总结:
服务器重启用户session信息保存和恢复(服务器维护需要)
httpsessionActivationlistener
活化(sessiondidactivate)和钝化sessionWillpassivate
public class person implements httpsessionactivationlistener,serviliziable(可序列化,永久存储){
活化和钝化方法《主要的还是xml文件的配置》
}
WEB中监听者的类型:ServletContextListener(最大的)
HttpSessionListener(session创建能访问,销毁)(onlineweb)
活化和钝化需要配置tomcat服务器 (1,servce.xml---2,work catalina 自定义.xml文件)
配置路径---D:\javaSoft\apache-tomcat-7.0.30\conf\Catalina\localhost 需要写一个xml文件,
让服务器启动的时候读取或者配置server.xml( <Host name="localhost" appBase="webapps")改平台
session的活化和钝化相关推荐
- IDEA之Session的活化和钝化
Session活化和钝化的服务器调优,性能优化方案 ,网上已经很多了,这里我就强调一下 应用场景,总之这个很重要. 应用场景: 1.一般来说,服务器启动后,就不会再关闭了,但是如果逼不得已需要重启,而 ...
- Tomcat 之 Session的活化和钝化 源码分析
概要 Session活化:从硬盘上读取序列化的session到内存中 Session钝化:把内存中的session序列化到硬盘上 Tomcat中两种Session钝化管理器 session钝化机制是由 ...
- 服务器端会话技术Session|| Session的原理||Session的细节||session的钝化session的活化||session的特点||session与Cookie的区别
Session 1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中.HttpSession 2. 快速入门: 1. 获取HttpSession对象: ...
- idea 配置 tomcat session 无法活化
idea 配置 tomcat session 无法活化 参考网址: https://blog.csdn.net/weixin_44142032/article/details/89004986?ops ...
- session活化与钝化
会话的持久化: 本篇解决一个问题,就是当正在浏览页面的时候服务器突然关闭,浏览器不关闭,当再次开启服务器时还能够恢复关闭时的页面 HttpSessionActivationListener 实现此接 ...
- JavaWeb-WEB核心7 会话技术 理解什么是会话跟踪技术掌握Cookie的使用掌握Session的使用(钝化、活化)完善用户登录注册案例的功能
会话技术 今日目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 1,会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理 ...
- Listener(监听器)
Listener(监听器) Listener简介 Listener是JavaWeb中三大组件之一.Servlet.Filter.Listener 三大组件都有的共同特点,都需要实现一个接口,并在web ...
- Java 序列化 之 Serializable
概念 序列化:就是把对象转化成字节. 反序列化:把字节数据转换成对象. 对象序列化场景: 1.对象网络传输 例如:在微服务系统中或给第三方提供接口调用时,使用rpc进行调用,一般会把对象转化成字节序列 ...
- Listener监听器与Filter过滤器
1.Listener [1]监听器简介 > Listener是JavaWeb的三大组件之一,Servlet.Filter.Listener > Li ...
- java过滤器原理,拦截器,过滤器,监听器 区别及执行顺序
本文引用该作者(花开半夏)著作内容,觉得写的很好,记录一下便于回看防止失踪,更多详情请查看原作者. 同时还搜罗了其他便于理解的博文感兴趣的可以看看促进理解 拦截器,过滤器,监听器执行顺序(被拦截个人过 ...
最新文章
- Linux 环境 搭建Git 服务器,并且修改SSH端口使用
- XILINX资源获取
- python读取文件-python读取大文件
- sklearn学习(一)
- 还在对java类、类的加载一知半解?这篇文章相信会解决你80%的困惑
- STM32手册中的CAN过滤器16位标识符屏蔽配置错误说明
- SAP UI5框架 component.js的加载原理
- 学写Windows Service
- spider_使用随机User-Agent库, 爬取笔趣阁万古天帝章节目录_(fake_useragent)
- 含蓄:为彼此的交往留下余地 — 《别输在不会表达上》
- ESP8266-Arduino编程实例-L3G4200D三轴陀螺仪驱动
- php地图找房代码,腾讯地图实现地图找房功能
- ER图(实体联系图)
- 乡村少年宫计算机教师简介,乡村少年宫教师感言
- Zabbix5.0监控服务器并设置邮件告警(安装Agent)
- 发布苹果App有哪些步骤流程
- 五脏六腑在脸上的反射区图片_面部五脏反射穴位图
- pythongui做计算器_Python——GUI编程 利息计算器 作业9(python programming)
- GNN in KG(一) Modeling Relational Data with Graph Convolutional Networks,ESWC2018
- 解决eclipse中没有js代码提示的问题
热门文章
- 机器人语音问答流程及借助百度API Python实现
- mac终端查看IP信息
- 台式计算机如何自动关机,台式电脑如何设置定时关机
- 干货分享!一份你不知道的武汉Web前端开发学习攻略
- 计算机组装与维护标准教程(2010-2012版)电子教材,计算机组装与维护标准教程(2015—2018版)...
- 美赛数模论文之优缺点写作
- 云计算基础与应用 第二章 云计算技术架构
- 局域网传输文件的几种方法盘点
- 微信手写板 android,微信小程序:手写板功能实现(canvas)
- oracle database lite,Oracle Database Lite Client 10