JavaWeb之Session技术

session
服务器用于缓存数据会话技术
默认情况:session依赖于cookie
对象HttpSession

1.session原理:

根据上图分析如下:
a.浏览器发送请求到服务器,并交给一个servlet进行处理。此时request.getSession()第一次创建session对象,将sessionId以cookie的方式发送给浏览器。同时在服务端会保存session,并且,有唯一的id。
b.服务端将响应的信息发送到客户端,客户端会保存cookie信息。
c.当浏览器再次请求的时候,并交给另一servlet-twoservlet进行处理,此时request.getsession()会首先在服务端找是否有匹配的session,如果匹配,则不创建。
getSession()用于获得session对象,并以cookie方式将session id发送浏览器
如果没有特殊的cookie getSession方法创建session对象
2.session生命周期
创建:第一次使用
销毁:
过期,默认30分钟,%tomcat%/conf/web.xml配置
<session-config>
<session-timeout>30</session-timeout>
</session-config>
执行invalidate() ,进行销毁
setMaxInactiveInterval(int interval) 设置生命周期的时间,单位秒
非正常关闭
操作属性--用于缓存数据
xxxAttribute
3.URL重写
如果浏览器禁用了cookie,通过指定的api给URL后面追加特殊的标记,将session id传递给服务器
http://......./day10/oneServlet;jsessionid=23542958BF73D36C6F4086173606AA9B
encodeURL(url) 重写URL,重写普通的URL【】
encodeRedirectURL(java.lang.String url) ,专门用于处理重定向 URL重写。
如果参数是空字符串,内容不同

用法:见博文中session技术案例session应用案例-注册验证码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hymKing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值