Spring MVC 是 Spring 框架的一部分,用于构建基于 Java 的 Web 应用程序。它使用模型-视图-控制器(MVC)设计模式,将业务逻辑、数据访问和用户界面分离,使代码更易于维护和扩展。本文将介绍 Spring MVC 的基本概念和一个简单的示例,帮助你快速上手。
1. 基本概念
1.1 控制器(Controller)
控制器负责处理用户的请求并返回相应的视图。在 Spring MVC 中,控制器通常是一个带有 @Controller 注解的类。
1.2 模型(Model)
模型包含应用程序的数据和业务逻辑。在 Spring MVC 中,模型通常是一个普通的 Java 对象(POJO)。
1.3 视图(View)
视图负责呈现模型数据。在 Spring MVC 中,视图通常是 JSP、Thymeleaf 等模板引擎生成的页面。
2. 环境搭建
首先,我们需要创建一个 Maven 项目,并在 pom.xml 文件中添加 Spring MVC 的依赖:
<dependencies>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version>
</dependency>
<!-- Servlet API -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
<!-- JSP -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.3</version>
<scope>provided</scope>
</dependency>
</dependencies>
3. 配置 Spring MVC
接下来,我们需要配置 Spring MVC。可以通过 Java 配置类或 XML 配置文件来完成。这里我们使用 Java 配置类。
3.1 创建配置类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.example")
public class WebConfig implements WebMvcConfigurer {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
}
3.2 初始化 Spring MVC
在 web.xml 文件中配置 Spring MVC 的前端控制器:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="3.1"> <display-name>Spring MVC Example</display-name> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/dispatcher-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
4. 创建控制器
创建一个控制器类来处理请求:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="3.1">
<display-name>Spring MVC Example</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/dispatcher-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
5. 创建视图
在 WEB-INF/views 目录下创建一个名为 hello.jsp 的文件:
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String sayHello(Model model) {
model.addAttribute("message", "Hello, Spring MVC!");
return "hello"; // 返回视图名称
}
}
6. 运行项目
部署并运行你的项目,然后在浏览器中访问 http://localhost:8080/your-app-context/hello,你应该会看到页面显示 "Hello, Spring MVC!"。
总结
通过以上步骤,你已经成功创建了一个简单的 Spring MVC 应用。这个示例展示了如何配置 Spring MVC、创建控制器和视图,以及处理请求。希望这篇文章能帮助你更好地理解和使用 Spring MVC。
1421

被折叠的 条评论
为什么被折叠?



