会话(Session)入门以及基本用法

该博客详细介绍了Web应用中如何使用HttpSession管理用户会话,包括首次访问创建session,通过cookie传递sessionID,以及登录验证和session数据存储的过程。在登录成功后,用户在不同页面间跳转仍能保持登录状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户访问Web应用时,许多情况下,web服务器必须跟踪客户的状态,比如客户登录信息,购物车信息等。

当一个会话开始,servlet容器会创建一个HttpSession对象存放客户状态的信息,servlet容器为每个HttpSession对象分配一个唯一的标识符——SessionID

具体流程是这样的:

1.当浏览器第一次请求访问某web应用中任意一个支持会话的网页(登录页面),servlet容器会寻找http请求中表示sessionID的cookie,由于第一次访问不存在cookie,因此认为新的会话开始了。于是创建一个HttpSession对象,分配SessionID,并且把这个ID作为cookie添加到http响应结果中。当浏览器接收到http响应结果后,会把其中表示sessionID的cookie保存在客户端。

2.浏览器进程继续请求访问登陆页面,在本次http请求中会寻找表示sessionID的cookie,由于这次可以找到cookie,因此认为本次请求已经处于一次会话中了。servlet容器不再创建新的HttpSession对象,而是从cookie中获取sessionID,根据ID找到内存中对于的Httpsession对象。

3.浏览器进程重复步骤二,直到当前会话被销毁。HttpSession对象就会结束生命周期。

public void login(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        //登录测试session
        HttpSession session = request.getSession();
        User user =(User) session.getAttribute("user");
        if(us
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值