Servlet中会话管理

Servlet提供了session和cookie进行会话管理,其中session是保存在服务器端的,而cookie是保存在客户端的。

Session:

Servlet规范中,提供了三种机制进行会话跟踪:SSL会话、Cookies、URL重写

SSL(Secure Socket Layer安全套接字层)是在HTTPS协议中使用的加密协议,它可以让采用SSL的服务器认证采用SSL的客户端,并且在它们之间保持加密连接,客户和服务器都产生名叫“会话密钥“的东西。

Cookies:服务器接收到客户请求之后,产生session,并且将Session ID返回,这个Session ID是以Cookies的形式来保存的,Cookie的名称为JSESSIONID,当浏览器关闭时,这个Cookie就消失了。

URL重写:如果客户端禁用Cookie,可以通过URL重写来进行session会话管理,要和客户端会话,就需要将所有发往客户端的URL进行编码,HttpServletResponse接口中提供了encodeURL()和encodeRedirectURL()方法实现,encodeRedirectURL()方法是在调用sendRedirect()方法之前调用,这时候可以观察url中为:http://localhost:8080/Servlet001 ;jsessionid=1234?name=h&psw=1



Cookie:

Java Servlet API提供了javax.servlet.http.Cookie类用于创建Cookie,Cookie保存在客户端,当客户端重新发送请求时,顺道把此URL对应的Cookie发送过去,Cookie有生命周期,提供了setMaxAge()方法,设置为0表示删除Cookie,为负数表示关闭浏览器时删除,为正数时Cookie会被保存到硬盘上。


Servlet规范提供了HttpSessionBindingListener接口,如果某个对象实现了该接口,如果这个对象被绑定到了Session中或者从Session中删除,Servlet容器会通知这个对象,对象接受到通知后,可以做一些初始化工作和清除的工作。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值