`

黑马程序员-使用session对象持久化的特性保存用户数据

 
阅读更多

 

------- android培训java培训、期待与您交流! ----------

 import java.io.Serializable;

/**

 * session对象是有超时期限的,如果在session的超时期限内将服务器关闭,

 * session会持久化到服务器的本地硬盘上(服务器硬盘目录/tomcat主目录/work/Catalina/主机名目录/应用程序名目      录/org/session.ser)

 * 当服务器再次重启时,session对象会被反序列化到服务器内存里面去

 * 

 * 所以在开发时,要考虑到以下的一种情况:

 * 用户登陆成功后要将user对象存储到session域里面

 * 当用户访问其他页面时,服务器会从session域里面查找user对象

 * 如果在用户登陆成功后正在访问某页面时,服务器因某种原因关闭

 * 由于代表用户数据的user对象没有实现serializable接口,

 * 那么,当session序列化到服务器本地硬盘上时,user对象不会一同序列化

 * 从而导致user(用户数据)对象丢失,

 * 当服务器重启时,只反序列化了sesion对象,而没有反序列化user对象,

 * 这时,用户的登陆状态也就不复存在,需要重新登陆

 * 

 * **为了解决这个问题,代表用户数据的user对象要实现serializable接口

 * 当服务器关闭时,user对象会跟随session对象一同序列化到服务器的本地硬盘,

 * 这样,当服务器重启时,user对象又会跟随session对象一同反序列化到服务的内存里

 * 存而保持住了用户的登陆状态

 * @authormrng

 */

public class User implements Serializable {
     ……………………………………
}
------- android培训java培训、期待与您交流! ----------   
详细请查看:http://edu.csdn.net/heima/
分享到:
评论

相关推荐

    黑马程序员-tomcat集群部署文档资料

    总结,"黑马程序员-tomcat集群部署文档资料"涵盖的范围广泛,从基础的集群概念和原理,到具体的Tomcat集群配置和优化,再到高级的源码分析,对于希望提升服务器管理和运维能力的IT从业者来说是一份宝贵的参考资料。...

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

    **持久化对象的生命周期:** - **瞬时态(Transient)**:对象刚刚创建,尚未与Session关联,此时对象状态未保存到数据库。 - **持久态(Persistent)**:对象与Session关联,并且数据库中存在对应的记录,任何改变...

    seesion注意问题

    Session的数据存储通常采用HashMap或HashTable等数据结构,它可以存储各种类型的数据,如字符串、对象等。但要注意,Session是服务器资源,大量用户并发访问时可能会导致服务器内存压力增大,因此合理设置Session的...

    javaee-Session持久化小结

    例如,可以使用Servlet容器(如Tomcat)的内置Session持久化配置,或者自定义实现`HttpSessionListener`和`HttpSessionBindingListener`来监听Session的创建和销毁事件,进行手动持久化操作。 标签中的"源码"可能...

    Java Web程序设计任务教程源码(黑马程序员)

    读者将学习如何创建Servlet,处理GET和POST请求,以及使用HttpServletResponse和HttpServletRequest对象来实现服务器与客户端的数据交互。 2. **JSP**:Java Server Pages(JSP)是HTML和Java代码的混合,用于创建...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    在现代Web应用程序开发中,session管理是一个至关重要的环节,它涉及到用户会话的持久化和跨请求的数据共享。传统的session管理方式在高并发、分布式环境中可能会面临效率低下和数据一致性的问题。为了解决这些问题...

    Hibernate-nosession

    这种方式适用于那些不涉及对象持久化的简单查询,它减少了Session的使用,提高了程序的运行效率。 然而,需要注意的是,Hibernate-nosession模式虽然在某些场景下提高了效率,但同时也失去了Hibernate的一些优势,...

    tomcat-redis-session-manager

    这是一个开源项目,它允许Tomcat服务器将用户的session数据持久化到Redis数据库中,而不是传统的内存或本地硬盘。这样,无论用户访问哪个服务器节点,都能获取到正确的session信息,从而实现负载均衡下的会话持久性...

    Tomcat_Session的持久化

    Tomcat_Session 的持久化是指将 HttpSession 对象保存到文件系统或数据库中,以便在服务器关闭或重启时可以恢复 Session 数据。下面详细讲解 Tomcat_Session 的持久化原理和实现机制。 一、Session 的使用 Session...

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

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

    tomcat-redis-session-manager包集合下载(tomcat8)

    【描述】中提到的"所需的tomcat-redis-session-manager所有的jar包下载"意味着我们需要了解如何配置和使用这个第三方库,以便在Tomcat8环境中存储和检索用户的session数据到Redis缓存系统。测试环境使用的是JDK1.8,...

    黑马程序员JAVA WEB全笔记pdf

    2. cookie:存储客户端的数据,用于实现持久化会话或简单数据存储。 本笔记深入浅出地介绍了Java Web开发的核心技术,通过学习这些知识点,开发者可以构建功能丰富的动态网站,并为进一步学习Spring、Hibernate、...

    hibernate--3.Hibernate数据持久化(通过 Session 操纵对象)

    然后,可以使用Session的`save()`或`saveOrUpdate()`方法将新对象持久化到数据库。例如: ```java SessionFactory sessionFactory = ...; // 获取SessionFactory Session session = sessionFactory.openSession(); ...

    tomcat-redis-session-manager-2.0.0.zip

    通过Tomcat Redis Session Manager,我们可以将Tomcat的Session数据持久化到Redis,使得在多台服务器之间可以无缝地共享这些数据,从而提高应用的可扩展性和性能。 `tomcat-redis-session-manager-2.0.0`的实现主要...

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    1. "tomcat-redis-session-manager-1.2-tomcat-7-java-7.jar":这是主要的会话管理器实现,它提供了在Tomcat中使用Redis存储session数据的接口和逻辑。这个jar文件包含具体的类和方法,使得Tomcat能够与Redis通信,...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day1_day2_day3_day4

    它通过提供数据持久化的对象模型,使得开发者可以专注于业务逻辑,而无需过多关注底层的SQL语法。本文将基于黑马程序员2016年的培训资料,对Hibernate的核心概念、配置、使用方法以及最佳实践进行深入探讨。 一、...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第2章 Java对象持久化技术概述  2.1 直接通过JDBC API来持久化实体域对象  2.2 ORM简介  2.2.1 对象-关系映射的概念  2.2.2 ORM中间件的基本使用方法  2.2.3 常用的ORM中间件  2.3 实体域对象的其他持久化模式...

    《JavaWeb程序开发进阶》-黑马程序员配套资源ppt.zip

    《JavaWeb程序开发进阶》是一本深入探讨JavaWeb技术的教材,由黑马程序员提供配套的教学资源PPT。这些PPT涵盖了多个关键章节,旨在帮助学习者系统地掌握JavaWeb开发的核心技能。以下是对各章节内容的详细解读: 1. ...

    tomcat-redis-session-manager源码

    `RedisSession`是`RedisSessionManager`内部用于表示会话的对象,它继承自`org.apache.catalina.Session`,并扩展了对Redis特性的支持,如序列化和反序列化。会话数据在Redis中以哈希(Hash)形式存储,便于高效地...

Global site tag (gtag.js) - Google Analytics