`

黑马程序员-使用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/
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics