1. 程式人生 > >Servlet和Struts2的線程安全問題

Servlet和Struts2的線程安全問題

.com 同時 servlet對象 建立 成員變量 logs ont com 安全問題

通常情況下,系統只生成servlet的單一實例之後,為每個用戶請求建立新的線程。如果很多請求同時到來,那麽多個線程可能會並發的訪問同一個servlet對象。servlet是線程不安全的,在多線程訪問servlet的時候,有一些限制:

  • 盡量不要有成員變量;
  • 如果有成員變量,這個成員變量也要是無狀態的成員變量;
  • 如果非要有成員變量,這個成員變量只能是只讀的

struts2本身就是多實例、單線程的,所以可以說本身就是線程安全的。

(Action是線程安全的,因為struts2中,action是多例的)

技術分享

Servlet和Struts2的線程安全問題