news 2026/4/16 13:04:53

springboot 整合 springMvc(包含springmvc的拦截器的使用)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
springboot 整合 springMvc(包含springmvc的拦截器的使用)

文章目录

    • 项目目录
    • pom.xml
    • Main 程序入口
    • 配置文件application.yml
      • 自定义外部资源文件夹的路径
    • resources / static / login.html
    • resources / webapp/ register.html
    • 拦截器
    • springMvc配置文件 WebMvcConfig .java
    • controller

项目目录

pom.xml

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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><!-- 所有springboot项目,都必须继承自 spring-boot-starter-parent --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version></parent><groupId>com.atguigu</groupId><artifactId>boot-mvc</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!-- SpringBoot提供了许多预定义的Starter,如: spring-boot-starter-web用于构建Web应用程序, spring-boot-starter-data-jpa用于使用JPA进行数据库访问, spring-boot-starter-security用于安全认证和授权, ...等等 使用Starter非常简单,只需要在项目的构建文件(例如Maven的pom.xml)中添加所需的Starter依赖, SpringBoot会自动处理依赖管理和配置。 springboot提供的全部启动器地址: [https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters](https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.build-systems.starters) springboot启动器的命名规范: 官方提供的:命名为:`spring-boot-starter-*` 第三方提供:命名为:`*-spring-boot-starter` --><!--web开发的场景启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency></dependencies></project>

Main 程序入口

packagecom.atguigu;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublicclassMainApplication{publicstaticvoidmain(String[]args){SpringApplication.run(MainApplication.class,args);}}

配置文件application.yml

自定义外部资源文件夹的路径

# springMvc相关的配置server:port:80# 端口号,默认是8080servlet:context-path:/boot# 设置项目根路径spring:web:resources:# 这是默认值# static-locations: classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/static-locations:classpath:/webapp# 自定义外部资源文件夹的路径# 一旦自定义外部资源文件夹路径,就覆盖掉默认路径了# 访问外部资源的时候,不要写外部资源文件夹的名字哦。。。

resources / static / login.html

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>登录界面</title></head><body>登录界面</body></html>

resources / webapp/ register.html

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>注册Title</title></head><body>注册界面</body></html>

拦截器

packagecom.atguigu.interceptor;importjakarta.servlet.http.HttpServletRequest;importjakarta.servlet.http.HttpServletResponse;importorg.springframework.web.servlet.HandlerInterceptor;publicclassMyInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{System.out.println("request = "+request+"response = "+response+"handler = "+handler);returntrue;}}

springMvc配置文件 WebMvcConfig .java

  • springboot 项目中,你 springmvc 的功能,就像之前一样用就行了

  • 加上 @Configuration注解

  • 只要在MainApplication.java类所在包及其子包下,就会被@SpringBootApplication注解扫描注册

packagecom.atguigu.config;importcom.atguigu.interceptor.MyInterceptor;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.InterceptorRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;/** * springboot项目中,你springmvc的功能就像之前一样用就行了 * * 加上 @Configuration注解 * * 只要在 MainApplication.java类 所在包及其子包下,就会被@SpringBootApplication注解扫描注册 */@ConfigurationpublicclassWebMvcConfigimplementsWebMvcConfigurer{@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry.addInterceptor(newMyInterceptor());}}

controller

packagecom.atguigu.controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("hello")publicclassHelloController{@GetMapping("show")publicStringshow(){return"hello - show";}}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:22:07

金属检测流程更规范:IACheck × AI审核提升硬度检测报告的合规性与一致性

在装备制造、工程结构、汽车零部件及新材料应用等领域&#xff0c;金属材料性能始终是质量控制与安全评估的重要基础。其中&#xff0c;硬度检测作为反映材料力学性能的重要指标&#xff0c;被广泛应用于原材料验收、工艺验证及成品质量判定等多个环节。相比检测操作本身&#…

作者头像 李华
网站建设 2026/4/16 10:22:03

高空作业下工人安全带安全帽检测数据集VOC+YOLO格式110张4类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;110标注数量(xml文件个数)&#xff1a;110标注数量(txt文件个数)&#xff1a;110标注类别数&…

作者头像 李华
网站建设 2026/4/16 10:22:02

3.11. 允许用户在 Samba 服务器上共享目录

在 Samba 服务器上&#xff0c;你可以配置用户共享目录,而无需root权限。 3.11.1. 启用用户共享功能 在用户可以共享目录之前&#xff0c;管理员必须在 Samba 中启用用户共享。 例如&#xff0c;仅允许本地 example 组的成员创建用户共享&#xff1a; 流程 如果本地 example…

作者头像 李华
网站建设 2026/4/16 10:22:02

一文讲透|全网爆红的降AIGC软件 —— 千笔·降AI率助手

在AI技术日益渗透学术写作的今天&#xff0c;越来越多的学生和研究者开始借助AI工具提升写作效率。然而&#xff0c;随着查重系统对AI生成内容的识别能力不断提升&#xff0c;论文中的“AI率超标”问题逐渐成为困扰学生的重大难题。无论是知网、维普还是Turnitin&#xff0c;都…

作者头像 李华
网站建设 2026/4/16 11:57:39

【信号处理】变步长自适应LMS滤波算法附Matlab实现

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和…

作者头像 李华
网站建设 2026/4/16 13:45:58

华为eNSP模拟器综合实验之- 无线AC 配置思路及关键要点

在华为eNSP中配置无线AC&#xff08;Access Controller&#xff09;&#xff0c;是实现集中管理AP&#xff08;Access Point&#xff09;和发射可控无线信号的核心。其配置逻辑清晰&#xff0c;关键在于理解模板化的设计思想——通过组合不同的模板来定义无线服务的各项参数。一…

作者头像 李华