关于SpringMVC的作用域SessionScope

本文探讨了SpringMVC中的SessionScope,它确保每个HTTP请求都有一个新的bean,并且只在当前HTTP session内有效。通过示例展示了如何配置SessionScope,并通过测试解释了其行为。此外,还提到了SpringMVC的其他作用域,如singleton、prototype、request和global session,以及它们各自的特点和应用场景。

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

session作用域表示该针对每一次HTTP请求都会产生一个新的bean,同时该bean仅在当前HTTP session内有效。

配置方法:

<bean id="ctrlLogin" class="com.springmvc.controller.main.CtrlLogin" scope="session"/>

或者直接使用注解:

@Controller  
@SessionScope
public class CtrlLogin{ ....}


通过测试发现,如果浏览器登陆系统后,再从新打开一个浏览页登陆系统,此时发现是在同一个session,但是如果关闭掉之前的登陆页,然后重新打开浏览器登陆系统,此时会发现是在不同的session。


SpringMVC还有其它作用域:

singleton :默认,不适合多用户系统,测试结果发现不管你通过什么途径访问系统,都会查询出上一个用户的缓存数据

prototype:每次请求都会重新new 一个bean

request:每次请求都会new一个bean,但是跟prototype不同的地方在于,request在这个请求内有效,而prototype返回给客户端后就不问不管了。

global session:应用在基于portlet的web应用


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值