论坛首页 入门技术论坛

JavaEE中的session应用

浏览 5056 次
该帖已经被评为新手帖
作者 正文
   发表时间:2010-06-25   最后修改:2010-06-28

在服务器上,通过Session来区分每一个上网用户

用户只要一连接到服务器,则立刻分配一个Session给用户


Session主要方法:
1  服务器上通过Session来分别不同的用户-->Session ID
任何连接到服务器上的用户,服务器都会位之分配唯一的一个不会重复的Session ID
Session ID是由服务器统一管理的,人为不能控制
方法:session.getID();
长度:32

2  判断是否是新的Session
public boolean isNew();
判断当前的Session是否是新建立的Session

3  Session的属性设置
设置属性:public void setAttribute(String name,Object value)
取得属性:public Object getAttribute(String name)
删除属性:pbulic void removeAttribute(String name)
4  登陆验证
通过Session能够对用户是否登陆做出验证
public void putValue(String name,Object)-->setAttribute
public Object getValue(String name)-->getAttribute
public removeValue(String name)-->removeAttribute
此三个方法已经过时,不建议再使用

注销用户:让用户的Session失效
如果Session失效,则在Session所保留的全部操作也会消失
public void invalidate()使Session失效(手工)
如果Session长时间不被使用,则也会自动失效
5  得到Session的创建时间
public long getCreationTime()
此方法返回long类型,通过new Date()可以取得一个完成时间
取得用户最后操作的时间:public long getLastAccessedTime();

6  总结
Session将信息保存在服务器上,而Cookie保存在客户端上
Session比Cookie更安全,Session比Cookie更占资源
开发原则:Session要尽量少用--尽量少向Session中保存信息
session使用了Cookie的机制,如果Cookie被禁用,则Session也无法使用,因为客户端的session ID以cookie形式,保存在了客户端的内存当中,这个时候我们可以通过url重写,来保证session的有效性.

重写url的方法如下

resp.encodeURL(request.getRequestURL().toString());  

重写完URL之后,跳转的时候,看看浏览器的地址变化吧^-^

具体内容在我另一篇文章中

http://phl.iteye.com/blog/699574

 

   发表时间:2010-06-27  
感觉网站最好不要依赖session

session 在做 多服务器负载的时候

会有点麻烦

直接用 cookie + 第三方缓存 比较的好...

自己在两个公司呆过后得出的结论,纯属个人体会 ...
0 请登录后投票
   发表时间:2010-06-27  
我也跟楼上的同样的想法
0 请登录后投票
   发表时间:2010-06-27  
“session使用了Cookie的机制,如果Cookie被禁用,则Session也无法使用,因为客户端的session ID以cookie形式,保存在了客户端的内存当中,这个时候我们可以通过url重写,来保证session的有效性.”
  ——学习了
0 请登录后投票
   发表时间:2010-06-27  
如何url重写?
0 请登录后投票
   发表时间:2010-06-27  
回楼上,response有自带的方法的
0 请登录后投票
   发表时间:2010-06-27  
gundumw100 写道
如何url重写?

重写url的方法在我另一篇文章中

http://phl.iteye.com/blog/699574
0 请登录后投票
   发表时间:2010-06-27  
showr 写道
感觉网站最好不要依赖session

session 在做 多服务器负载的时候

会有点麻烦

直接用 cookie + 第三方缓存 比较的好...

自己在两个公司呆过后得出的结论,纯属个人体会 ...

能具体说说是什么样的技术吗?
我还真没英国过第三方的缓存呢^-^
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics