gpt4 book ai didi

java - Session Scoped Bean Spring多个用户具有相同的实例

转载 作者:太空宇宙 更新时间:2023-11-04 13:31:48 25 4
gpt4 key购买 nike

我正在使用 spring mvc 3.2.3 开发一个 Web 应用程序。

我的dispatcher-servlet.xml中有一个 session 范围的bean,描述为:

<bean id="domainCountBean" class="com.count.beans.CountSelectionBean" scope="session">
<aop:scoped-proxy/>
</bean>

然后我想从 Controller 中使用它:

@Controller
@RequestMapping("/")
public class DomainController {
@Autowired
CountSelectionBean domainCountBean;

......

    @RequestMapping(value = "/manual_domain/ajaxSet/", method = RequestMethod.GET)
public ResponseEntity<String> ajaxSetResetApprovalId(
HttpServletRequest req, HttpServletResponse res
) {



domainCountBean.getDeselectedIds().put(idStr, appId);



HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "text/html; charset=utf-8");
return new ResponseEntity<String>(jsonString, responseHeaders, HttpStatus.CREATED);

}

当我从浏览器 A 登录我的 web 应用程序时:并使用 domainCountBean ,事情似乎正确存储在 session 中。

同时,如果我尝试使用浏览器 B 中的不同用户登录:并使用 domainCountBean,那么我会从浏览器 A 中获取用户插入的值。反之亦然。

我正在努力为提到的 bean 保留两个不同的实例。我想知道我的概念是否错误,或者可以解决我的问题。

P.S: 我不能在这里使用 sessionAttribute。

最佳答案

通过将“ session ”范围分配给 Controller 解决了该问题。

@Controller
@Scope("session")
@RequestMapping("/")
public class DomainController {
@Autowired
CountSelectionBean domainCountBean;

尽管根据定义,我认为它应该在没有 Controller session 范围的情况下工作。

关于java - Session Scoped Bean Spring多个用户具有相同的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32121836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com