SpringMVC實戰系列之基礎知識普及篇(3)?

SpringMVC是Spring 的一個Web框架,基於Model-View-Controller來實現前臺頁面與後臺業務的解耦

本文就帶大家普及一下JEE中Spring的使用

工具/原料

SpringMVC

方法/步驟

上面兩篇已經講過了SpringMVC的兩個示例

但是SpringMVC的執行原理

webapp/WEB-INF/web.xml

先看看web.xml中的配置,只要是JEE容器,肯定要使用Servlet

web.xml(Web應用釋出描述符檔案)

Spring MVC Application

mvc-dispatcher

org.springframework.web.servlet.DispatcherServlet

1

mvc-dispatcher

/

SpringMVC實戰系列之基礎知識普及篇(3)

看看這個Servlet,就是Spring MVC的前端控制器

org.springframework.web.servlet.DispatcherServlet

這個Servlet就是Spring的核心,所有的Request都會到DispatcherServlet

再來看看這個servlet-name,預設情況下DispatcherServlet會載入一個基於servlet-name的XML檔案中載入Spring應用上下文

也就是配置檔案mvc-dispatcher-servlet.xml

SpringMVC實戰系列之基礎知識普及篇(3)

來看看載入了那些上下文

這個註解表示Spring會查詢使用@Component註解的類並將其註冊為Bean

@Controller是@Component的一個實現

SpringMVC實戰系列之基礎知識普及篇(3)

SpringMVC實戰系列之基礎知識普及篇(3)

來看看下一個

這個InternalResourceViewResolver是什麼呢?

在Web應用程式的WAR檔案中查詢檢視模板。

檢視模板的路徑根據新增字首和字尾的的邏輯檢視名稱來確定

SpringMVC實戰系列之基礎知識普及篇(3)

來看看HelloController.java中返回的View

view名hello新增字首和字尾/WEB-INF/pages/和.jsp

得到的邏輯檢視名是什麼呢?

/WEB-INF/pages/hello.jsp

SpringMVC實戰系列之基礎知識普及篇(3)

SpringMVC實戰系列之基礎知識普及篇(3)

什麼時候會觸發到com.springapp.mvc.HelloController.java呢?

可以看到org.springframework.web.servlet.DispatcherServlet對應的處理URL路徑是/

要觸發HelloController.java需要

/name/age

SpringMVC實戰系列之基礎知識普及篇(3)

SpringMVC實戰系列之基礎知識普及篇(3)

來再重溫一個最後的結果

提供服務的Web服務

SpringMVC實戰系列之基礎知識普及篇(3)

相關問題答案