Spring Web MVC 快速入门
Spring Web MVC 是 Spring 框架的一部分,它提供了一种灵活和强大的解决方案来开发 Web 应用程序。Spring MVC 基于 Model-View-Controller(MVC)设计模式,它旨在将业务逻辑、用户界面和控制逻辑分离,从而使应用程序更易于管理和扩展。
环境搭建
在开始之前,我们需要确保以下环境已安装:
- JDK 1.8 或以上
- Maven 3.5 或以上
- 一个集成开发环境(IDE),如 IntelliJ IDEA 或 Eclipse
创建 Maven 项目
为了使用 Spring Web MVC,我们首先需要创建一个 Maven 项目,并在 pom.xml
中添加相关依赖:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-mvc-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>9.0.50</version>
</dependency>
</dependencies>
</project>
创建配置类
在项目中创建一个配置类来设置 Spring MVC。我们可以使用 Java 配置:
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example.controller")
public class WebConfig {
}
创建 DispatcherServlet
在 web.xml
中配置 DispatcherServlet
:
<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_3_1.xsd"
version="3.1">
<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>
</web-app>
创建控制器
接下来,我们创建一个简单的控制器,以处理 HTTP 请求:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/hello")
public class HelloController {
@GetMapping
public ModelAndView sayHello() {
ModelAndView modelAndView = new ModelAndView("hello");
modelAndView.addObject("message", "Hello, Spring MVC!");
return modelAndView;
}
}
创建视图
在 src/main/webapp/WEB-INF/views/
目录下创建一个 hello.jsp
文件:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello Page</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
运行应用
确保你已经配置好服务器(如 Tomcat),然后启动应用。当你访问 http://localhost:8080/spring-mvc-demo/hello
时,你应该能够看到 Hello, Spring MVC!
的消息。
总结
通过以上步骤,我们成功搭建了一个简单的 Spring Web MVC 应用。Spring MVC 提供了强大的功能,包括数据绑定、验证、国际化等功能,适合构建复杂的 Web 应用。在实际开发中,你可以根据业务需求扩展控制器、服务和数据访问层,从而构建一个完整的 Web 应用。