SPRING MVC就是和STRUTS等一樣,是實現了MVC的框架,但性能比STRUTS要好,STRUTS對于每個請求都是新建一個ACTION處理,而SPRING MVC是對應到不同的方法。以下為一些核心概念:
- ACTION SERVLET:前端控制器,和所有的WEB框架一樣,是所有的請求的中心入口
- MAPPING HANDLER: 比對URL,找出負責處理的控制器
- CONTROLLER:控制器,負責處理前端的請求,返回MODELVIEW
- VIEW RESOLVER:根據CONTROLLER返回的MODEL VIEW找出負責展現的VIEW
- VIEW:由于展現內容可以有不同方式,如JSP,FREEMARKER等,VIEW就負責展現,分兩步,取得要展現的模版的路徑,使用解釋器解釋并取得最終內容。一般一個SPRING就一個展現器,如JSTLVIEW,對于不同的URL,只是JSP頁面路徑不同,從CONTROLLER返回的MODEL VIEW中取得JSP路徑,輸出最終內容
- FORM HANDLER:頁面如果有表單,就涉及到如何從表單中讀取數據或將數據綁定到表單中,表單處理器已經和CONTROLLER結合在一起了,只須繼承SIMPLE FORM HANDLER就可以,在JSP中配置COMMANDNAME值,就可以此為KEY,從MODELVIEW中取表單值或綁定值到表單中
在STRUTS中,會有一配置文件:STRUTS-COMFIG.XML,配置了所要用到的BEAN的內容,好處是直觀,但項目大了,免不了配置文件數量龐大,為了減少配置文件的數量,引入注釋,實際上可以理解為配置文件不用手寫,由容器在啟動時動態幫你生成,只須在相應代碼,如類名,方法上加上注釋,容器在解釋這些類的時候就會動態生成一虛擬的配置文件,供后續使用。具體的注釋有@CONTROLLER/@SERVICE/@REQUESTMAPPING等。
Spring MVC 3 深入總結
http://www.tkk7.com/qcyycom/archive/2013/07/11/401467.html