Servlet学习(Session)

本文详细介绍了HTTP协议的无状态特性以及Servlet中如何利用Session进行会话跟踪。讲解了Session的创建过程,包括服务器如何根据JSESSIONID查找或创建session,并探讨了何时会删除session,如超时、调用invalidate()方法以及服务器进程停止。同时,提到了关闭浏览器仅使客户端的session cookie失效,不会影响服务器端的session。最后,简要提及了HttpSession的生命周期和防止重复提交的问题。
摘要由CSDN通过智能技术生成

1、HTTP协议是一种无状态的协议
在Servlet规范中,常用的两种机制完成回话跟踪:
1、Cookie
2、Session

Session机制
session机制采用的是在服务器端保持HTTP状态信息的方案

1、当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否包含了一个session标识(即JSESSIONID)
2、 如果已经包含一个JSESSIONID则说明以前已经为此客户创建过session,服务器就按照JSESSIONID把这个session检索出来使用。
3、如果客户请求不包含JSESSIONID,则为此客户创建一个session并且生成一个与此session相关联的JSESSIONID,这个JSESSIONID将在本次响应中返回给客户端保存

session由服务器创建,浏览器发送第一次请求,服务器会给创建一个JSESSIONID发送给浏览器,创建session的两种方式:HttpServletRequest.getSession(true)
或者HttpServletRequest.getSession()
在这里插入图片描述

getSession():如果当前已经创建了session则为这个用户则直接返回这个sesoin的对象。如果没有则创建一个新的。

HttpSession session = request.getSession();

session在下列情况下被删除&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值