SpringMVC —— 第九章 SpringMVC 简介
1. SpringMVC 概述
SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 SpringFramework 的后续产品,已经融合在 Spring WebFlow 中。
SpringMVC 已成为了目前主流的 MVC 框架之一,并随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无需实现任何接口。同时它还支持 RESTful 编程风格的请求。
2. SpringMVC 的开发步骤
- 导入 SpringMVC 包坐标
- 配置 SpringMVC 核心控制器
DispatcherServlet
- 编写 Controller 类和视图页面
- 将 Controller 使用注解配置到 Spring 容器当中(
@Controller
),并配置 Controller 类中的映射地址 - 配置 SpringMVC 核心配置文件
spring-mvc.xml
(配置组件扫描) - 执行访问测试
需求:客户端发起请求,服务器端接收请求,执行逻辑并进行视图跳转。
示例代码:
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<!-- Configure the front end controller of spring MVC -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Controller component scan -->
<context:component-scan base-package="com.gregperlinli.controller"/>
</beans>
com.yourname.controller.UserController
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class UserController {
@RequestMapping(value = "/quick")
public String save() {
System.out.println("Controller save running");
return "success.jsp";
}
}