当在servlet中设置私有变量时为什么会共享一个数据

 

public class OneServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    private String name;//加入的私有变量


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try {
            name=request.getParameter("name");
            Thread.sleep(60*60);//
            response.getWriter().write("this is:"+name);
        } catch (InterruptedException e) {
            
            e.printStackTrace();
        }
        
    
    }

}
当在浏览器同时提交“http://localhost:8080/day08_3/oneServlet?name=jack”
和”http://localhost:8080/day08_3/oneServlet?name=rose“为什么只会显示一个结果

1、因为Servlet 是单例,因此所有请求都共享着一个实例;
2、所有Servlet的实例变量name也是共享的,而且是最后一个请求的值覆盖之前的值。

楼上的龙年哥已经给出正解了。。name这种变量 放到方法内部就好了。。

是单例的楼上正解...