智者說,沒有經過自己的思考和估量,就不能接受別人的東西。資料只能是一個參考,至于是否正確,還得自己去分辨
SpringMVC相對于Structs的幾個優勢:
1、springMVC安全性更高,structs2框架是類級別的攔截,每次request請求structs2都會為之創建一個action,然后將數據注入到實體been中,所以在structs2中,一個action對應一個request上下文。springMVC是方法級別的攔截,每個request對應一個方法,然后通過注解將數據注入到對應的實體中,所以在springMVC中,一個方法對應一個request上下文,粒度更小,所以說springMVC更安全
2、springMVC直接使用注解的方式,配置更加的簡潔清晰,structs2將所有路徑配置放在structs.xml文件中,多人開發的時候更容易產生沖突,配置相對復雜,但這也是structs2的一個優點,就是可以在這個文件中找到所有的路徑。
3、springMVC的異常處理機制更加的優秀。Structs2因為在Action的execute方法聲明時就拋出了Exception異常,所以我們無需再execute方法中捕捉異常,僅需在struts.xml 中配置異常處理;在springMVC中采用統一的異常處理框架,配置異常處理之后直接在執行方法中拋出對應的異常,更加的準確,顯示更加友好的用戶界面提示。
4、相對于Structs2,springMVC的參數傳遞更加方便。springMVC直接使用對應的實體去接收form提交的表單信息,而structs2要在form中指定對應的實體,否則structs無法區分form中的數據對應哪個實體