2011-12-24 26 views
1

我正在經歷VS Struts2的Struts1的分歧,並跨越了這一點傳來:爲什麼Struts2中沒有用於Action類的Singleton概念?

  • 的Struts 1個Action是單身的,必須是線程安全的,因爲只會有一個類來處理所有的請求的一個實例爲那個行動。

  • Struts 2的Action對象實例化對於每個請求,因此沒有線程安全問題。

現在我的問題是:在Struts2中,爲什麼Action類沒有單獨的概念?我認爲,不必要的是,每個請求都有更多的對象創建。 如果我錯了,請糾正我。

回答

2

在Java中,對象的創建速度非常快。編程線程安全的動作類(和servlet等)令人煩惱且容易出錯。

就像一切,有一個權衡。

+0

謝謝,祝大家聖誕快樂,萬事如意。 – Pawan 2011-12-25 03:39:29

+0

Servlets就像線程安全的動作類嗎? – 2013-08-28 07:07:55

+0

@NagappaLM我不明白這個問題。 Servlet是單身人士,Struts 2的行爲不是。 – 2013-08-28 10:54:50

0

在這個意義上新的實例,它不是創建新的對象,但JVM將創建一個對象的實例,因此存在也不管有多少請求是針對正在添加特定對象......即使該實例越多,的applcation不會掛...