session工作原理及应用

本文详细介绍了Session的工作原理,包括其依赖于Cookie的机制、创建与销毁的过程,以及在HTTP请求中的作用。同时,文章讨论了Session的生命周期,指出默认存活时间为30分钟,并解释了何时Session会被销毁。此外,还通过验证码登录和用户信息共享的案例展示了Session的应用,并提到了在Python爬虫中的处理策略。
摘要由CSDN通过智能技术生成

SESSION是基于COOKIE技术的,没有COOKIE,就没有SESSION。
SESSION是将SESSION的ID存储COOKIE中,而SESSION的数据保存在服务器;每次向网站请求时,只需要发送SESSION的ID,通过SESSION的ID将服务器端保存的用户数据调出来。
Session 工作原理
session会话
执行流程:
第一次请求,请求头中没有jsessionid的cookie,当访问到对应的servlet资源时,执行到getSession()会创建HttpSession对象;进而响应时就将session的id作为cookie的value,响应到浏览器 Set-cookie:jsessionid=xxxx;再一次请求时,http请求中就有一个cookie:jsessionid=xxxx信息,那么该servlet就可以通过getSession()获取到jsessionid在服务器内查找对应的session对象,有就使用,无就创建。

Session 创建、获取、销毁

// 获取session对象,服务器底层创建Session
HttpSession session = request.getSession();// 获取session对象的唯一标识:sessionID (JSESSIONID=E925DE1EF00F7944537C01A3BC0E2688)String jsessionid = session.getId();// 销毁session对象中的jsessionidsession.invalidate();

Session 共享范围
http域对象之一,服务器中可跨资源共享数据。

// 往 session 中存储 msg
HttpSession session = request.getSession();session.setAttribute("msg", "helloSession");// 获取 msgHttpSession session = request.getSession();Object msg = session.getAttribute("msg");// 删除域对象中的数据session.removeAttribute("msg");

Session 生命周期
一般都是默认值 30 分钟,无需更改。取决于 Tomcat 中 web.xml 默认配置:

session-config>
    <session-timeout>30</session-timeout></session-config>

Session生命周期结束时机:
浏览器关闭:销毁Cookie中的jsessionid=xxx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值