Struts MVC與Spring MVC的區別

昨天下午去面試的時候,面試官跟我說:“給我談談struts mvc和spring mvc吧”,我談着談着就談到SSH集成去了,回來後想了想,Struts和Spring mvc確實有必要單獨分析比較一下。這裏本人只做簡單的個人的認識,網上相關的資源很多。

Struts MVC:

①一個類對應一個請求上下文,也就是一個Action請求做出一次響應。

②由於第一點,Struts的類是共享的,其屬性也是共享的,每次請求都會創建該類的實例,性能方面有多餘的消耗

③Struts的入口是攔截器,通過攔截器再通過控制器轉發到不同的bean去處理請求(具體可以看看servlet與攔截器與interceptor的區別,我將會在後幾篇博客中講)

④Struts的Ajax需要手動配置url,相對比較麻煩

⑤Struts MVC更加面向對象編程(OOP)

⑥對於JSR303自定義註解,Struts處理驗證很繁瑣


Spring MVC:

①一個方法對應一個請求上下文,也就是基於一個方法做出一次響應,(網上說的restful url,一般不會用spring與url結合使用,所以不必太關心)

②由於第一點,方法之間是完全獨立的,(體現了spring的輕量級框架)

③Spring的入口是servlet,針對一個方法就可以直接去做相應的處理,(這裏也體現了spring的‘0配置’)

④Spring MVC集成了Ajax,只需一個註解@ResponseBody就可以實現,(體現了Spring更高級吧。)

⑤Spring MVC相對比較謹慎,是在servlet上面做的擴展

⑥支持JSR303,處理驗證更加靈活方便


以上是本人對Struts MVC和Spring MVC的一個簡單的區別整理,編程領域沒有絕對的好與壞,只有相對的存在。如果有幸再被面試到這個問題,應該不會有問題了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章