2012-09-20 61 views
1

我正在構建託管在tomcat上的jsp頁面,並且想知道每個jsp中引用的bean實例是無狀態的還是有狀態的?那些bean實例是如何發生的?每次訪問頁面時他們(重新)都被創建了嗎?我是否需要擔心兩個不同的用戶同時訪問同一個頁面並獲取相同的bean實例?jsp和java beans

一般來說,我發現jsp和beans之間的交互很混亂,所以如果有人可以參考這些概念的教程/解釋,我會很感激。謝謝!

P.S.如何在bean類中的靜態字段?這些值默認具有應用範圍嗎?

回答

3

是普通Java對象的對象和後面bean的發展宗旨是存儲/保持數據。

如果在每個jsp中引用的bean實例是無狀態/有狀態的?

默認情況下爲無狀態。

這些bean實例是如何實現的?每次訪問頁面時他們(重新)都被創建了嗎?

這取決於您使用的代碼

我是否需要擔心兩個不同的用戶同時訪問同一個頁面並獲取相同的bean實例?

除非你已經創建了一個應用範圍。


關於JavaBeansJSP

+1

+1這些偉大的聯繫。 – BalusC

+0

如何在bean類中的靜態字段?這些值默認具有應用範圍嗎? – JRR

0

bean的生命週期是高達開發商或框架的開發者選擇使用。如果你想在多個頁面(甚至是同一個頁面)上進行請求,除非你創建了一個類的實例並將其存儲在某個地方,那麼它將是無狀態的。這就是Java EE會話管理到位的地方,所以如果你想要有狀態的行爲,你可以創建一個bean的實例,並將它「堅持」到會話中。

如果確實堅持一個會話,您不必擔心多個用戶觸及應用程序,因爲每個用戶會話都是唯一的,Java EE會嘗試確保這一點。