Session在内存中的存放形式

Tomcat 中的 Session 是放在 org.apache.catalina.session.ManagerBase 类中,以 HashMap 格式存放,key 为 sessionId, value 为 org.apache.catalina.Session 接口, 这个接口由org.apache.catalina.session.StandardSession 类实现,这个类同时实现了 HttpSession 接口。
session变量保存在网页服务器中,你不能直接修改,当然,调用程序中的setAttribute()方法当然可以了。 cookie存储的可不是具体的数据,要不岂不是太不安全了,谁都可以修改session变量了,网站也毫无安全性可言。实际,在cookie中,存储的是一个sessionId,它标示了一个服务器中的session变量,通过这种方式,服务器就知道你到底是那个session了。顺便说一句,如果客户端不支持cookie,session也是可以实现的,在服务器端通过urlEncoder,可以实现sessionId的传递。所以,记住客户端只存储session标识,实际内容在网页服务器中。

猜你喜欢

转载自jxdiamond.iteye.com/blog/1187175