1. 程式人生 > >對比Sturts2和SpringMVC

對比Sturts2和SpringMVC

常見web框架中Struts2SpringMVC獨佔鰲頭,SpringMVCStruts有什麼不同?

我們可以從各個方面進行對比:

:框架的思想設計上

SpringMVC控制器是基於方法上攔截,是單例的.Struts2控制器是基於類上攔截,是多例的,多例會帶來一定記憶體消耗.

:配置檔案上執行流程:

Struts2是通過前端過濾器StrurtPrepareAndExecutionFilter接受到請求後在過濾器中完成一部分的程式碼.SpringMVC的前端過濾器DispatcherServlt接收到客戶端請求後接著將請求對映處理器HandlerMapping,對映處理器會根據

xml配置,註解進行查詢handler,接著對映處理器HandlerMapping將找到的Handler返回給前端控制器DispatcherServlet,接著前端控制器呼叫處理介面卡對Handler進行執行,Handler執行完給處理介面卡HandlerAdapt返回ModelAndView,處理介面卡接著將ModelAndView返回給前端過濾器,前端過濾器請求檢視解析器進行檢視解析,解析成真正的檢視(jsp)然後返回View給前端過濾器,前端過濾器進行檢視渲染.將模型資料填充到request域中,最後向客戶響應結果.

:核心元件上

Struts2的核心元件是StrurtPrepareAndExecutionFilter

中的攔截器和Action.

SpringMVC的核心元件有過濾器DispatcherServlt,對映處理器HandlerMapping,,處理介面卡HandlerAdapt,處理器Handler,檢視解析器ModleAndVIew.

:引數傳遞上

SpringMVC通過方法入參傳遞引數,Struts2通過類的成員變數來傳遞引數.

ps圖:

歡迎閱讀,路過的大神請多指教!