花時(shí)間看了一下Struts2(WebWork)的教程,對(duì)比了一下,還是覺得Spring MVC更好。
原因有幾點(diǎn):
1。Spring MVC的controller+command object模式比Struts2的Act
在Spring MVC中,controller和command object是兩個(gè)獨(dú)立的類,自動(dòng)數(shù)據(jù)綁定只發(fā)生在command object上,對(duì)controller沒有影響,就不存在這個(gè)問題。
2。Struts 2的act
3。Struts 2的jsp tags使用OGNL作為表達(dá)式語(yǔ)言。我個(gè)人覺得這個(gè)語(yǔ)言功能過強(qiáng),特別是能夠直接訪問act
當(dāng)然,Struts 2也有很多功能是值得Spring吸取的,比如redirect-act
不過我還是覺得Spring MVC更好些。
下面列出我對(duì)這兩個(gè)都很優(yōu)秀的框架的評(píng)估,請(qǐng)各位幫忙評(píng)判一下:
------------------------SpringMVC-----Struts2.0(webwork2)--------------獲勝者
開發(fā)效率----------------5-------------?---------------------------------?
運(yùn)行效率----------------5-------------4(act
學(xué)習(xí)成本----------------4-------------3(同事反應(yīng)學(xué)習(xí)曲線比較陡)--------SpringMVC
與Spring集成------------5(無(wú)縫集成) 4----------------------------------SpringMVC
難易程度
validator集成-----------4(commons)--5----------------------------------Struts2.0
AJAX集成----------------4-------------5(豐富的tag支持)-----------------Struts2.0
可測(cè)試性----------------5-------------5----------------------------------平局
從實(shí)際開發(fā)效果來(lái)看,在4個(gè)項(xiàng)目用了spring2.5 mvc,2個(gè)項(xiàng)目用struts2,發(fā)現(xiàn)招聘時(shí),都是struts1,struts2的求職者,而spring mvc全得現(xiàn)培訓(xùn),不過學(xué)習(xí)曲線實(shí)在是低,把架構(gòu)搭好之后,絕大部分的人都能很快適應(yīng),并快速開發(fā)。而struts2的開發(fā),以前2個(gè)項(xiàng)目,都是剛好別人搭的架構(gòu)(完全照搬天乙社區(qū)里面的開發(fā)方式),實(shí)際做功能測(cè)試和性能測(cè)試時(shí),問題成堆。struts2的數(shù)據(jù)綁定簡(jiǎn)直就是災(zāi)難,新手經(jīng)常性的把參數(shù)給弄亂。
聯(lián)系客服