SpringMVC线程安全问题 2

使用@Autowired将HttpServletRequest 作为成员变量注入是线程安全的,测试如下 

定义成员变量:

    @Autowired
    private HttpServletRequest request;

定义方法:

    @RequestMapping("/alarm/testA.do")
    public void testA() throws InterruptedException{
        String username = request.getParameter("username");
        Thread.sleep(10000);
        System.out.println("testA: " + username);
    }
    @RequestMapping("/alarm/testB.do")
    public void testB(){
        String username = request.getParameter("username");
        System.out.println("testB: " +username);
    }

测试:

     a、浏览器中输入:http://localhost:8082/alarm/testA.do?username=zhangsan

    调用"testA"从request中获取参数值,将线程休眠10s,10s之后输出结果为"testA: zhangsan"。

     b、浏览器中输入:http://localhost:8082/alarm/testB.do

    调用"testB"从request中获取参数值,输出结果为"testB: null",未受到方法"testA‘影响。

你可能感兴趣的:(Java,Spring,SpringMVC)