Java servletRequest.setAttribute在doFilter()中是否是线程安全的?

Java servletRequest.setAttribute在doFilter()中是否是线程安全的?,java,spring,spring-mvc,servlets,thread-safety,Java,Spring,Spring Mvc,Servlets,Thread Safety,My filter的doFilter在验证用户后执行此操作- servletRequest.setAttribute("user", "someUserName"); 我有一个这样的控制器- @Controller public class SomeController { @RequestMapping(value = "/someURI", method = RequestMethod.GET) @ResponseBody public String someMe

My filter的doFilter在验证用户后执行此操作-

servletRequest.setAttribute("user", "someUserName");
我有一个这样的控制器-

@Controller
public class SomeController {

    @RequestMapping(value = "/someURI", method = RequestMethod.GET)
    @ResponseBody
    public String someMethod(HttpServletRequest httpServletRequest) {
        String name = httpServletRequest.getAttribute("user").toString();
        System.out.println(name);
        return "hello!";
    }
}
我的问题是-是否可以保证在我设置
用户的位置处理
doFilter()
的线程将与调用
someMethod
的线程相同?换句话说,这里是否存在安全风险?我担心的是,如果存在线程安全缺陷,则以下行-

httpServletRequest.getAttribute("user")

可能返回不正确的结果

Servlet
请求
响应
对象将为每个新的
请求
响应
重新创建,因此就其性质而言,它们是线程安全的。
在上面的代码中,每个
请求
都会调用过滤器,而且由于
doFilter
使用
响应对象(它是线程安全的)来实现其目标,因此过滤器也是线程安全的

Servlet
request
response
对象会为每个新的
请求
response
重新创建,因此它们本质上是线程安全的。 在上面的代码中,每个
请求
都会调用过滤器,而且由于
doFilter
使用
响应对象(它是线程安全的)来实现其目标,因此过滤器也是线程安全的