1. 程式人生 > >收集的一些struts2和springMVC之間的對比

收集的一些struts2和springMVC之間的對比

1.易用性Spring MVC上手簡單,並且可以與Spring無縫結合,畢竟都是一個公司的產品,學習起來也比較簡單,比如從前端給物件填充值,他的處理就比Struts2簡單多了,再比如對Restful風格的URL的支援,這些Spring MVC都比Struts2做的好N倍。 2.安全性說到安全性,我也不想多提Struts2了,我在一家遊戲公司工作,之前公司的老專案是用的Struts2,他今年出了不少漏洞,並且是致命性漏洞,每出一次漏洞,我需要加班一次,好吧,我想說我加了4次班了,最可惡的是Struts2有漏洞後,還把攻擊方法放到網上。Spring MVC到目前為止還沒有發現比較嚴重的漏洞。 3.可擴充套件性Spring MVC依靠Spring這顆大樹,Spring的實力我想大家不用懷疑吧,包括版本的更新、迭代這些都是經過歷史見證的 4.spring mvc更加的靈活,更不容易出錯,開發成本也比較低 5.spring-mvc + hiberante/mybatis的組合相比ssh更適合敏捷開發 6.由於springMVC是輕量級的,用起來相對靈活。Spring MVC 會稍微比 Struts2 快些。Spring MVC 是基於方法設計,而 Sturts2 是基於類, 每次發一次請求都會例項一個 Action。Spring MVC 使用更加簡潔, 開發效率 Spring MVC 確實比 struts2 高:springMVC支援 JSR303, 處理 ajax 的請求更方便。當然struts也不是沒有任何優點,Struts2 的 OGNL 表示式使頁面的開發效率相比 Spring MVC 更高些。 上述1到6項出處:https://www.zhihu.com/question/22014461

7、springmvc基於方法開發的,struts2基於類開發的。springmvc將url和controller裡的方法對映。對映成功後springmvc生成一個Handler物件,物件中只包括了一個method。方法執行結束,形引數據銷燬。springmvc的controller開發類似web service開發。

8、springmvc可以進行單例開發,並且建議使用單例開發,struts2通過類的成員變數接收引數,無法使用單例,只能使用多例。

9、經過實際測試,struts2速度慢,在於使用struts標籤,如果使用struts建議使用jstl。

上述7-9項出處:http://www.admin10000.com/document/6436.html

10.struts封裝的功能更多更全面,用法比較獨有。springmvc比較接近原生servlet,靈活度高。而且因為springmvc的controller是單例的,以及沒有大量的過濾器,效能要比struts2好。還有一點就是Spring有自己的JdbcTemplate,用來執行原生態的SQL語句。如:

@Transactional public Integer click(String id){ jdbcTemplate.update("UPDATE content set count=count+1 where id=?",id ); return jdbcTemplate.queryForInt(
"select count from content where id=?",id); } 出處:http://www.osblog.net/blog/542.html