1. 程式人生 > >springMVC相關知識總結

springMVC相關知識總結

springMVC框架:

是spring的一個模組,與spring無需進行整合,是基於mvc的web框架
mvc——模型檢視控制器,是一種設計模式,走捷徑
mvc在B/S系統下的應用——控制器(struts2中的filter,處理請求產生響應)
springMVC框架——前端控制器(DispacherServlet,處理請求產生響應)

springMVC實現流程

在這裡插入圖片描述
元件:
1.前端控制器DispatcherServlet,不需要程式開發,
作用——接受請求,響應結果,相當於轉發器,中央處理器,減少其他元件之間的耦合度
2.處理器對映器HandlerMapping,不需要程式開發,
作用——根據請求的url查詢Handler
3.處理器介面卡HandlerAdapter,
作用——按照介面卡特定規則執行·Handler
注意——編寫Handler按照介面卡的要求去做,這樣介面卡才可以正確執行Handler(Controller程式設計師自己編寫)
4.檢視解析器View resolver
作用:進行檢視解析,根據邏輯檢視名解析真正的檢視(view)
5.檢視View,是一個介面,實現類支援不同的view型別(jsp,freemaker,pdf,excel)

簡單配置:

1.web.xml——spring配置檔案(前端控制器【入口】),web監聽器,解決亂碼
<!--啟動時監聽器  -->
 <listener>
       <listener-class>org.springframework.web.context.ContextLoaderListener
       </listener-class>
 </listener>
 <!--伺服器啟動時建立spring容器  -->
 <context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>classpath:config/springMVC-servlet.xml</param-value>
 </context-param>
<!--springmvc前端控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 預設在web-inf -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/springmvc-servlet.xml</param-value>
</init-param>
</servlet>
<!--contextConfigLocation配置springmvc載入的配置檔案(配置處理器對映器,介面卡等)
如果不配置contextConfigLocation,預設載入/WEB-INF/servlet名稱-servlet.xml(springmvc-servlet.xml)
-->
2.在springmvc-Servlet.xml中配置註解驅動的控制器,自動掃描(controller,service,dao),
3.編寫Handler,需要實現Controller介面

springMVC和struts的區別:

1)springmvc的入口是一個servlet,即前端控制器,例如:.action
struts2入口是一個filter過慮器,即前端過濾器,例如:/

2)springmvc是基於方法開發,傳遞引數是通過方法形參,可以設計為單例
struts2是基於類開發,傳遞引數是通過類的屬性,只能設計為多例
3)springmvc通過引數解析器是將request物件內容進行解析成方法形參,
將響應資料和頁面封裝成ModelAndView物件,最後又將模型資料通過request物件傳輸到頁面
struts採用值棧儲存請求和響應的資料,通過OGNL存取資料,經過實際測試,struts2速度慢,在於使用struts標籤,如果使用建議使用jstl。