`
clasp
  • 浏览: 54072 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Session持久化

阅读更多

Session持久化可以实现当tomcat重新启动后,当前IE使用的session仍然有效而不用重新登录,有两步需要做,session持久化很有用,尤其在eclipse中重新增加类后,tomcat重新加载后,IE页面不用再登录,之前的session依旧保持,调试的时候很有用
1.配置conf/server.xml
在server.xml的根路径或虚拟目录中增加一段,如虚拟目录调度所中:
<Context path="/dds" docBase="D:\01_XZY\98_供电局调度所\02_JSP\HRDGDZC\ROOT" debug="0" reloadable="true" >
<Manager className="org.apache.catalina.session.PersistentManager" debug="0" saveOnRestart="true" maxActiveSessions="-1" minIdleSwap="-1" maxIdleSwap="-1" maxIdleBackup="-1" >
<Store className="org.apache.catalina.session.FileStore" directory="seskep"/>
</Manager>
</Context>
这样之后,普通的session对象(像字符串类的)就能实现持久化了,但如果session使用了对象,则必须实现对象类的可序列化
参数说明:saveOnRestart-服务器关闭时,是否将所有的session保存到文件中;
maxActiveSessions-可处于活动状态的session数;
minIdleSwap/maxIdleSwap-session处于不活动状态最短/长时间(s),sesson对象转移到File Store中;
maxIdleBackup-超过这一时间,将session备份。(-1表示没有限制)
directory="seskep" 会在tomcat的work目录下建立一个目录,用来存储session,这里建立的目录是
D:\JAVA\TOMCAT4\work\Standalone\localhost\dds\seskep

2.类的序列化
如果session中存储了类xzy登录属性的实例,则类xzy登录属性必须能够序列化,才能实现session持久化
实现implements java.io.Serializable接口就可以了
/**
* 用户登录后各种属性记录在本类的实例中
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 山西泰森科技股份有限公司</p>
* @author 邢志云
* @version 1.0
*/
public class xzy登录属性 implements java.io.Serializable
{
public String UserName=null;
public String 姓名=null;
public String 单位=null;
public String 部门=null;
public String 职务=null;
public String 权限设置=null;
static final public long serialVersionUID=372938;
}
serialVersionUID这个东西估计每个类中写个不同的数值就可以了,好像是版本保持的.
经过测试IE登录后页面后,Session再重新启动,刷新IE页面的时候session对象中的值能够像重启前一样的读出来.

分享到:
评论
1 楼 wzh6126 2009-12-03  
挺好的!刚开始想着在action中实现session的持久化,
没想到还可以配置...

相关推荐

    javaee-Session持久化小结

    这篇名为"javaee-Session持久化小结"的文章可能涵盖了如何在JavaEE应用中实现Session的创建、管理和持久化。 首先,Session的创建通常是通过HttpSession接口的`getSession()`方法完成的。当用户首次访问服务器时,...

    Weblogic 10.3集群配置指南与Session持久化

    Weblogic 10.3 集群配置与Session持久化是企业级应用部署的关键环节,它涉及到多个方面的知识,包括Weblogic的基础概念、集群架构、安装配置以及Session的管理和持久化。 1. **Weblogic集群名词解释** - **Domain*...

    session之用户交互间隔&&session持久化

    根据给定文件的信息,本文将围绕“Session 用户交互间隔与 Session 持久化”这一主题进行深入探讨,包括 Session 的基本概念、Tomcat 中 Session 的管理方式、Session 的持久化机制以及用户交互间隔等内容。...

    Tomcat_Session的持久化

    Tomcat_Session 的持久化 在 Web 应用程序中,Session 是一种用来跟踪用户状态的机制。Tomcat_Session 的持久化是指将 HttpSession 对象保存到文件系统或数据库中,以便在服务器关闭或重启时可以恢复 Session 数据...

    TOMCAT SESSION的持久化方法

    博文链接:https://wangxuliangboy.iteye.com/blog/237534

    使用SessionListener+持久化Session+Springmvc拦截器实现单点登录

    在这个过程中,`SessionListener`、持久化`Session`和`Springmvc拦截器`是关键组件,让我们逐一深入探讨。 ### SessionListener `SessionListener`是Java Servlet API中的一个接口,用于监听`HttpSession`事件。...

    asp.net session对象的持久化

    下面我们将深入探讨如何实现这一过程,以及何时需要使用Session持久化。 ### 使用SQL Server数据库保存Session ASP.NET提供了一种方法,即通过配置IIS(Internet Information Services)和使用SQL Server存储...

    seesion注意问题

    【Session详解及注意事项】 Session是Web开发中一种用于在客户端和服务器之间保持状态的重要机制。在HTTP协议中,由于其无状态性,无法在多个请求之间保持数据,因此需要使用Cookie或Session来实现状态管理。本文...

    hibernate5--2.数据持久化及事务

    数据持久化是通过Hibernate的核心接口Session来实现的。Session提供了对数据库的 CRUD(创建、读取、更新、删除)操作,它是连接应用程序和数据库的桥梁。在Hibernate中,对象的状态有三种:瞬时态、持久态和脱管态...

    缓存文件Session信息保存在数据库中

    web项目开发过程中经常遇到用户登陆,退出的问题,根据登陆和退出来操作session的存值和销毁....但往往很多用户不去点击"退出",而是关闭FF的tab或浏览器(多种浏览器),这就给session的销毁带来了困难.

    重写session机制,将session写入数据库,建表和注释写的都很清晰,已测试

    重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试

    分布式session方案

    Session 持久化到数据库是指将 Session 信息存储到数据库中,以保证 Session 的持久化。 优点:服务器出现问题,Session 不会丢失。 缺点:如果网站的访问量很大,把 Session 存储到数据库中,会对数据库造成很大...

    sessionsession

    Session数据存储在服务器的内存中,如果服务器配置了Session持久化,那么数据也会被保存到硬盘或者数据库中,以防服务器重启或内存不足时丢失数据。但需要注意的是,大量用户会导致服务器内存压力增大,因此合理...

    tomcat-redis-session-manager实现session共享 配置文件

    Tomcat-Redis-Session-Manager是基于Apache Tomcat的Session管理器,通过集成Redis作为Session持久化存储,实现了跨服务器的Session共享。它将Tomcat中的Session数据序列化后存储到Redis中,当需要时再从Redis中读取...

    tomcat session存到mencache

    标题"tomcat session存到mencache"指的是将Tomcat的session持久化存储到Memcache中,以提高性能和可扩展性。 Memcache可以在多台服务器之间共享session数据,从而支持负载均衡和高可用性。对于描述中提到的“版本为...

    关于session丢失问题

    3. **Session持久化**:将Session数据保存在数据库或文件系统中,即使服务器重启,也可以恢复Session。但这会增加服务器的I/O负担和复杂性。 4. **Session复制或共享**:在集群环境中,可以使用Session复制或共享...

    redis-session-manager-redis-session-manager-2.0.6.zip

    其版本"redis-session-manager-2.0.6.zip"是适用于Windows操作系统的版本,提供了方便的session持久化和高可用性解决方案。 1. Redis介绍: Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息...

    域对象在持久化层的状态

    2. **查询执行前**:当调用`Session.find()`或`Session.iterate()`方法时,如果缓存中存在对应的持久化对象,Session会首先尝试从缓存中获取,而不是直接访问数据库。若缓存中无数据,才会发起数据库查询。 #### 四...

Global site tag (gtag.js) - Google Analytics