1. 程式人生 > >【MarketAnalysis總結】3.0SpringMVC與Strut2的SSH整合的對比

【MarketAnalysis總結】3.0SpringMVC與Strut2的SSH整合的對比

在採用SpringMVC框架之前,我們進行了一次對SpringMVC與Strut2的對比,最後才選擇了SpringMVC框架,在此我來說明一下搭建這個SSH框架的區別,以及兩者的對比和選擇了前者的原因。


1)   搭建Strut2的SSH框架

Strut2是與SpringMVC層負責的工作一樣的,管理檢視層;其配置大部分與3)中的配置一致,在這裡我取不一樣的地方來說明。

a)   對於web.xml,配置中增加了一個Struts的過濾器,如圖3.1,這是取代SpringMVC的dispatcher的,用來對請求做集中統一的分發;

圖3.1 Struts過濾器

b)   用strut.xml取代springMVC-servlet.xml,如下圖3.2,由於strut的具體配置不是我負責的,在此不做過多論述。

圖3.2 strut.xml配置

c)   Strut對應action層取代controller,action層的功能與controller相似。

2)   選擇SpringMVC的原因

a)   SpringMVC基於方法開發,而strut2是基於類開發的。前者將url對映到控制器的一個方法裡,對映成功後生產一個Handle物件,物件中只包括了一個method;方法執行結束時,形引數據銷燬。而後者將url對映到一個類,粒度比前者大,每一個url都要為其配置一個類,粒度太大。

b)   SpringMVC可進行單例開發,而sturt2通過類的成員變數接收引數,無法使用單例,只能使用多例。

c)   經過實際測試,strut2的速度更慢,主要是因為其使用了struts標籤。