Spring MVC 採用經典 MVC 模式,將數據、業務、展現分離。核心組件 DispatcherServlet 負責請求分派,配合可配置的:
HandlerMapping:請求到處理器映射ViewResolver:邏輯視圖到物理視圖解析LocaleResolver、ThemeResolver:國際化與主題支持

<!-- 註冊中央處理器 -->
<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:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MyController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mv = new ModelAndView();
mv.setViewName("WEB-INF/jsp/index.jsp");
return mv;
}
}
<bean id="/happy.do" class="cn.happy.controller.MyController"></bean>
<%@ page language="java" pageEncoding="utf-8"%>
<html><body>
<h1>Spring MVC Hello World!</h1>
</body></html>
訪問 https://localhost:8080/你的項目/happy.do,即可看到頁面渲染結果。

| 配置項 | 作用 |
|---|---|
DispatcherServlet | 前端控制器,統一入口 |
contextConfigLocation | 指定 Spring 配置文件位置 |
load-on-startup | 容器啟動時初始化 |
url-pattern | 攔截請求路徑模式 |
| Bean id="/xxx.do" | URL 到 Controller 的映射 |
ModelAndView | 攜帶模型數據與視圖名 |
@Controller + @RequestMapping 註解替代 Controller 介面InternalResourceViewResolver 可統一配置視圖前綴/後綴,簡化視圖名MockMvc 模擬請求,無需啟動容器掌握這套最基礎的 XML 配置流程,是理解 Spring MVC 核心機制的關鍵起點。