Java EE 设计模式学习笔记——会话管理

“用户会话”描述的是在客户端和服务器之间的多次请求构成的一种“对话”,会话管理有两种办法:
1. 在客户端保存会话状态
优点:相对来说容易实现; 当要保存的状态比较少时,效果很好;而且当需要在多台物理服务器上实现负载均衡时,使用在客户端保存会话状态的策略,也不需要再服务器之间复制会话状态。
常见策略:
HTML隐藏字段;
<input type="hide"..>
缺点:性能影响,尤其保存状态较多时候,每次请求和响应都需要通过网络往复传输;任何对象都必须“字符串化”。
HTTP cookie;
缺点:除了隐藏字段的缺点外,另外对于cookie header的大小有限制。
直接把会话状态放进页面的URL里
ex: <form action=someServlet?var1=x&var2=y method=GET>
另外还有安全问题,需要进行加密。
2. 在表现层保存会话状态
通过一个会话ID(session ID)来获取状态,还有八会话状态保存在业务层(EJB)或资源层
优点:会话状态不会在每个请求中都通过网络传输一次;不会有数据量大小和数据类型方面的限制;
缺点:当需要在多台物理服务器上实现负载均衡时,需要再服务器之间复制会话状态。(但有比应用服务器更高的层次的软件来解决这个问题);另外服务器的负载较大。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值