SpringMVC詳解---Web層

1. SpringMVC的組件 

a. 前端控制器(DispatcherServlet) 前端

本質上是一個Servlet,至關於一箇中轉站,全部的訪問都會走到這個Servlet中,再根據配置進行中轉到相應的Handler中進行處理,獲取到數據和視圖後,再使用相應視圖作出響應。  java

b.處理器映射器(HandlerMapping) web

本質上就是一段映射關係,將訪問路徑和對應的Handler存儲爲映射關係,再須要時供前端控制器查閱。  spring

c.處理器適配器(HandlerAdapter) 瀏覽器

本質上是一個適配器,能夠根據要求找到對應的Handler來運行。前端控制器經過處理器映射器找到對應的Handler信息以後,將請求響應和對應的Handler信息交由處理器適配器處理,處理器適配器找到真正Handler執行後,將結果即modelAndview返回給前端控制器。  bash

d.視圖解析器(ViewResolver) 服務器

本質上也是一種映射關係,能夠將試圖名稱映射到真正的視圖地址。前端控制器調用處理器適配完成後獲得modle和view,將view信息傳給視圖解析器獲得真正的view。  mvc

e.視圖渲染(View) app

本質上就是將handler處理器中返回的model數據嵌入到視圖解析器解析後獲得jsp頁面中,向客戶端作出響應 jsp

圖解:


2. SpringMVC入門案例 

1.建立Web項目,並導入SpringMVC相關開發包。 

2.配置前端控制器: 

本質上是一個servlet,再當前web項目中配置該servlet 

<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>複製代碼

3.生成SpringMVC的核心配置文件 

SpringMVC默認會自動再web應用的WEB-INF目錄下去尋找[前端控制器ServletName]-servlet.xml做爲當前SpringMVC的核心配置文件。 

建立這個文件,這個文件自己就是Spring的配置文件,因此導入Spring相關的約束信息,包括beans、context、mvc 


4.建立處理器,編寫代碼 

想要開發一個處理器,寫一個類實現Controller接口,在其中的handlerRequest中編寫代碼處理請求,並將處理好的數據和目標視圖封裝到ModelAndView中返回 

5.配置處理器映射器中的路徑和處理器的映射關係 

6.配置視圖解析器 


7.開發視圖

 

8.發佈應用,經過瀏覽器訪問 


總體流程: 


3. 修改SpringMVC核心配置文件的位置 

SpringMVC默認在和web.xml相同的位置即WEB-INF目錄下尋找核心配置文件,文件名默認[前端控制器Servlet-name]-servlet.xml 若是須要,能夠經過配置,手動指定核心配置文件的位置,和文件的名稱: 

<servlet>
	<servlet-name>springmvc</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:/springmvc-servlet.xml</param-value>
	</init-param>
</servlet>
<servlet-mapping>
	<servlet-name>springmvc</servlet-name>
	<url-pattern>*.action</url-pattern>
</servlet-mapping>複製代碼

4. SpringMVC的註解方式配置 

SpringMVC支持使用註解方式配置,比配置文件方式更加的靈活易用,是SpringMVC使用的主流模式。 

1 在配置文件中開啓SpringMVC的註解模式

 

2.使用註解開發Controller 


3.發佈應用,經過瀏覽器訪問 


4.總體流程 


5.SpringMVC註解方式工做原理 

a. 當服務器啓動時,先會加載web.xml,以後經過引入核心配置文件加載springmvc-servlet.xml。就會解析該xml配置文件。 

b. 當解析到包掃描時,掃描指定的包,並將含有@Controller註解的類解析爲處理器。 

c.若是配置過mvc:annotation-driver/就會解析Spring-MVC註解 

d.解析@RequestMapping(value="/hello.action"),將指定的地址和當前方法的映射關係進行保存。 

e.當用戶發出請求訪問一個地址時,SpringMVC尋找該地址映射關係,若是存在,則找到響應處理器響應方法執行,若是找不到,則報404。 

最後

歡迎你們有興趣的能夠關注個人公衆號【java小瓜哥的分享平臺】,文章都會在裏面更新,還有各類java的資料都是免費分享的。但願與你們一塊兒進步努力!

相關文章
相關標籤/搜索