2017-06-20 61 views

回答

0

servletcontainer 爲每個請求重用相同的servlet實例。因此,即使跨多個會話,也只有一個servlet實例可以重複用於來自多個客戶端的多個請求。即使您註銷並重新登錄,它也會使用相同的實例。

這就是爲什麼以安全的方式編寫servlet代碼很重要 - 基本上意味着使用方法局部變量而不是實例變量,因爲它們將被重用於多個請求。我希望這有幫助。

+0

如果在不同用戶間只有一個實例,那麼表示線程被啓動以滿足請求,並且數據的干擾可以在不同用戶之間存在。 –

+0

正確。這就是爲什麼我們必須通過不讓它們共享實例變量來保持servlet線程安全。 – Piyush

+0

我不知道這是一個很好的問題,但在JSP頁面中,我們不建議使用'isThreadSafe'指令,因爲一次只有一個用戶可以查看該頁面,並且其他人必須等待,直到該頁面已經完成請求。那麼,有什麼辦法可以讓頁面線程安全嗎? –