入门 SpringMVC:Web 开发的经典选择与搭建第一个SpringBootMVC项目

入门 SpringMVC:Web 开发的经典选择

初学 Java Web?想搞懂请求是怎么从浏览器传到服务器?SpringMVC 作为 Web 三层架构的控制核心,是必须掌握的一环。本篇博客将带你系统了解 SpringMVC 的核心概念、技术栈、常用注解与开发流程,适合初学者入门!


一、什么是 SpringMVC?

SpringMVC(Model-View-Controller)是 Spring 框架的一个子模块,用于构建 Web 应用。它是一个基于 请求驱动 的 Web 框架,遵循 MVC 设计模式,将请求处理、业务逻辑和视图展示分离。

SpringMVC 最大的特点是使用注解简化配置,结合 Spring 容器实现轻量、灵活的 Web 架构。


二、SpringMVC 在 Web 开发中的地位

在典型的三层架构中:

  • 表现层(Controller):使用 SpringMVC 负责接收请求、返回页面或 JSON。
  • 业务层(Service):处理业务逻辑。
  • 数据访问层(DAO/Mapper):操作数据库,常配合 MyBatis、JPA。

SpringMVC 是 Web 层的重要组成部分,直接对接浏览器请求。


三、SpringMVC 的核心工作流程

SpringMVC 的执行流程可概括为:

  1. 浏览器发起请求,经过 DispatcherServlet。
  2. DispatcherServlet 查找 HandlerMapping,定位到目标 Controller。
  3. 调用对应的 Handler(即 Controller 方法)。
  4. 方法执行完返回 ModelAndView 或数据。
  5. DispatcherServlet 调用 ViewResolver 渲染视图或返回数据。

简图如下:

用户请求 → DispatcherServlet → HandlerMapping →Controller← ViewResolver ← ModelAndView ← Controller返回视图/数据 ← DispatcherServlet ←

四、SpringMVC 核心知识点(注解)

注解说明
@Controller声明控制器类,处理 Web 请求
@RequestMapping映射请求路径到方法(支持 GET/POST 等)
@GetMapping / @PostMapping快捷注解,更明确请求方式
@RequestParam绑定请求参数到方法参数
@PathVariable绑定 URL 中的动态路径变量
@ModelAttribute参数预处理,或者传值给视图
@ResponseBody返回 JSON 或文本数据
@RestController@Controller + @ResponseBody,用于 REST 风格接口

五、SpringMVC 技术栈搭配(配套组件)

技术用途推荐版本
Spring Framework容器、核心支持5.x / 6.x
SpringMVCWeb 控制器与 Spring 一致
Spring Boot(可选)快速开发集成2.x / 3.x
MyBatis / JPA数据持久化根据项目需求
JSP / Thymeleaf模板引擎学习建议 JSP
Servlet API底层依赖Java EE 提供
Tomcat本地运行容器8+
Maven / Gradle构建工具Maven 更适合初学者

六、SpringMVC 的常见功能点

  • 请求映射:多方式绑定 URL 与方法
  • 参数绑定:自动将请求参数封装为对象或基本类型
  • 页面跳转与重定向:支持 forward:redirect:
  • 表单处理:支持文件上传、表单回显、校验
  • RESTful 支持:使用 @RestController 返回 JSON 数据
  • 全局异常处理:@ControllerAdvice + @ExceptionHandler
  • 拦截器机制:可用于登录验证、日志记录等

七、SpringMVC 学习建议

  1. 掌握请求-响应流程:理解 DispatcherServlet 的调度机制。
  2. 动手搭建小项目:如“简易博客系统”、“留言板”。
  3. 结合 Spring 容器理解依赖注入:控制反转是 Spring 的灵魂。
  4. 逐步引入 Spring Boot(可选):学习统一配置与快速集成。
  5. 多写、多调试:SpringMVC 的学习核心在实践。

八、总结

SpringMVC 是传统 Java Web 开发的基础框架之一,它帮助我们用更清晰的方式处理请求、返回页面与数据。如果你正在学习 Java Web,SpringMVC 是非常值得投入时间深入学习的第一站。

九、搭建第一个SpringBoot MVC项目

(顶部有PDF文件)
新建项目
注意 : 创建位置 、JDK版本、Archetype

在这里插入图片描述
等待Maven环境配置完成
在这里插入图片描述
在maven中导入以下依赖

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
</dependency>
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>jsp-api</artifactId>
  <version>2.2 </version>
</dependency>
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>5.2.8.RELEASE</version>
</dependency>

在这里插入图片描述
点击maven更新按钮更新maven
在这里插入图片描述
在这里插入图片描述
在src文件下补齐缺失目录(java)
在这里插入图片描述
检查项目结构是否包含(java、resource、webapp)
(缺少webapp目录)
在这里插入图片描述
新建目录 webapp
在这里插入图片描述
打开项目结构
在这里插入图片描述
添加 Web框架
在这里插入图片描述
注意两个的地址
创建完成后检查webapp是否和上图一样
在这里插入图片描述
新建软件包(com.test.controller)
在这里插入图片描述
在这里插入图片描述
在springmvc-servlet.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"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">


<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>


</beans>

在这里插入图片描述
继续在插入的代码下面把注解驱动、扫包和视图解析配置完成
注意:base-package 后面是controller包的地址
/WEB_INF/jsp/,是jsp文件存放的地址

在这里插入图片描述
在这里插入图片描述
在webapp下WEB-INF下的web.xml中插入以下配置

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

在这里插入图片描述
在controller包下新建HelloController类
在这里插入图片描述
在HelloController 添加代码
在这里插入图片描述
在这里插入图片描述
在WEB-INF目录下创建目录(jsp)
在这里插入图片描述
在index.jsp文件中编写内容

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>SpringMVC</title>
</head>
<body>
${msg}
</body>
</html>

在这里插入图片描述
配置Tomcat
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值