引言
Spring MVC 是一个流行的 Java Web 开发框架,它遵循 MVC(Model-View-Controller)设计模式,可以帮助开发者快速构建高质量的 Web 应用程序。本文将通过一系列实战案例,带你从零开始,轻松掌握 Spring MVC。
一、Spring MVC 简介
Spring MVC 是 Spring 框架的一部分,它提供了丰富的功能和易于使用的接口,使得 Web 开发变得更加简单。Spring MVC 的核心组件包括:
- DispatcherServlet:前端控制器,负责接收请求并调用相应的处理器。
- HandlerMapping:将请求映射到处理器上。
- HandlerAdapter:适配器,将请求委托给处理器。
- Controller:处理器,处理请求并生成响应。
- ViewResolver:视图解析器,将模型数据传递给视图。
二、实战案例:创建一个简单的 Spring MVC 应用
2.1 创建项目
- 使用 Maven 创建一个 Web 项目。
- 在
pom.xml
文件中添加 Spring MVC 依赖。
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.23</version>
</dependency>
</dependencies>
2.2 配置 DispatcherServlet
- 在
web.xml
文件中配置 DispatcherServlet。
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2.3 创建控制器
- 创建一个控制器类,例如
HelloController
。
@Controller
public class HelloController {
@RequestMapping("/hello")
public String sayHello() {
return "hello";
}
}
2.4 创建视图
- 在
src/main/webapp/WEB-INF/views
目录下创建一个名为hello.jsp
的 JSP 页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
2.5 运行项目
- 启动 Tomcat 服务器。
- 在浏览器中访问
http://localhost:8080/hello
,应该会看到 “Hello, World!” 的信息。
三、实战案例:使用注解进行请求映射
3.1 创建控制器
- 创建一个控制器类,例如
AnnotationController
。
@Controller
public class AnnotationController {
@RequestMapping("/annotation")
public String sayAnnotation() {
return "annotation";
}
}
3.2 创建视图
- 在
src/main/webapp/WEB-INF/views
目录下创建一个名为annotation.jsp
的 JSP 页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Annotation, World!</title>
</head>
<body>
<h1>Annotation, World!</h1>
</body>
</html>
3.3 运行项目
- 在浏览器中访问
http://localhost:8080/annotation
,应该会看到 “Annotation, World!” 的信息。
四、实战案例:使用 Spring MVC 处理表单提交
4.1 创建控制器
- 创建一个控制器类,例如
FormController
。
@Controller
public class FormController {
@RequestMapping("/form")
public String showForm() {
return "form";
}
@PostMapping("/submit")
public String submitForm(@ModelAttribute("user") User user) {
// 处理表单提交逻辑
return "success";
}
}
4.2 创建视图
- 在
src/main/webapp/WEB-INF/views
目录下创建一个名为form.jsp
的 JSP 页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Form Example</title>
</head>
<body>
<form:form action="submit" modelAttribute="user">
<div>
<label for="name">Name:</label>
<form:input path="name" id="name"/>
</div>
<div>
<label for="email">Email:</label>
<form:input path="email" id="email"/>
</div>
<div>
<input type="submit" value="Submit"/>
</div>
</form:form>
</body>
</html>
- 创建一个名为
success.jsp
的 JSP 页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Form Submission Success</title>
</head>
<body>
<h1>Form submitted successfully!</h1>
</body>
</html>
4.3 运行项目
- 在浏览器中访问
http://localhost:8080/form
,填写表单并提交,应该会看到 “Form submitted successfully!” 的信息。
五、总结
通过以上实战案例,相信你已经对 Spring MVC 有了一定的了解。在实际开发中,Spring MVC 可以帮助你更快速、更高效地构建 Web 应用程序。祝你学习愉快!