在控制器(单例)中使用时,HttpServletRequest的范围是什么?

时间:2015-12-11 15:10:42

标签: java spring

我有这个疑问......我有一个单例bean ......我想在HttpServletRequest上设置一些参数,就这样:

@RequestMapping(value = "/myUrl", method = RequestMethod.GET)
    public String myMethod(final ModelMap model, final HttpServletRequest req){
       req.getSession().setAttribute("myKey", "someValue");
       return "/myURL";
    }

那么,如果我设置了myKey,该会话中当前用户只能 访问该值?或者因为它是单例bean可以被其他用户覆盖?

1 个答案:

答案 0 :(得分:1)

您正在更改会话,而不是控制器。并且会话与发出请求的用户相关联,因此其他用户将无法看到此值。

来自getSession() documentation

  

返回关联的当前会话   使用此请求,或者如果请求没有会话,则创建   之一。