2017-06-20 67 views

回答

0

servletcontainer 为每个请求重用相同的servlet实例。因此,即使跨多个会话,也只有一个servlet实例可以重复用于来自多个客户端的多个请求。即使您注销并重新登录,它也会使用相同的实例。

这就是为什么以安全的方式编写servlet代码很重要 - 基本上意味着使用方法局部变量而不是实例变量,因为它们将被重用于多个请求。我希望这有帮助。

+0

如果在不同用户间只有一个实例,那么表示线程被启动以满足请求,并且数据的干扰可以在不同用户之间存在。 –

+0

正确。这就是为什么我们必须通过不让它们共享实例变量来保持servlet线程安全。 – Piyush

+0

我不知道这是一个很好的问题,但在JSP页面中,我们不建议使用'isThreadSafe'指令,因为一次只有一个用户可以查看该页面,并且其他人必须等待,直到该页面已经完成请求。那么,有什么办法可以让页面线程安全吗? –