当前位置: 首页 > news >正文

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";}}

http://www.jsqmd.com/news/360719/

相关文章:

  • 2026年外墙铝塑板厂家推荐:基于产能与质量指标评测,解决幕墙工程供应稳定性痛点 - 品牌推荐
  • leetcode 941. Valid Mountain Array 有效的山脉数组-耗时100
  • 2026年度外墙铝塑板厂家推荐榜单:质量管控与绿色生产双维度评估的行业指南 - 品牌推荐
  • Vue3 + Cesium 风电场数字孪生可视化平台源码|专为新能源行业打造|前端开箱即用|风机智能大屏
  • 山东寒假集训2026 I
  • 2026最新无人机表演推荐!全国/上海优质定制化无人机表演服务权威榜单发布 - 品牌推荐2026
  • 2026年性价比高的高温合金厂家,宜岳特材口碑好值得选 - mypinpai
  • 2026年海南监理公司推荐榜单:数字化能力与全过程服务双维度评估的行业洞察 - 品牌推荐
  • 这几个开源项目太火啦,抓紧收藏哟起来!!!
  • 大猿人中控系统最新版源码|含余额转存功能+专业搭建服务(支持渠道API对接)
  • 2026年外墙铝塑板厂家推荐:五大权威榜单,破解工程选材困局 - 品牌推荐
  • 探寻2026设备管理系统优质厂家:哪家能独占鳌头? - 深度智识库
  • 探讨2026年东莞地区花岗岩构件推荐厂家,哪家靠谱 - myqiye
  • MongoDB(入门详解)
  • 2026高性价比花岗岩构件创新定制商推荐,不容错过 - 工业品牌热点
  • 大型住宅开发如何避坑?2026年成都监理公司推荐与排名,解决质量通病核心痛点 - 品牌推荐
  • 2026年海丰珠宝电镀实力厂家专业评估报告 - 2026年企业推荐榜
  • 2026年Q1汕尾饰品加工服务商评测与选型指南 - 2026年企业推荐榜
  • Spring Boot 使用 Hutool快速集成验证码
  • 2026最新无人机演绎推荐!求婚告白/庆典/开幕式/企业宣传/明星应援优质服务商榜单 - 品牌推荐2026
  • 解读GEO优化公司费用,看看新纪元智能网络性价比如何 - 工业设备
  • 40页精品PPT|智慧供应链管理企业数字化转型整体解决方案
  • 想转岗网安但零基础?10 个简单教程,跳过复杂理论,轻松拿捏核心技能
  • 【2026最新版】Xshell下载与安装配置全流程详解:从环境检测到连接调试一文搞定 - PC修复电脑医生
  • 2026年无锡靠谱的AI搜索优化哪家好,聚合AI - 工业品网
  • 我好像大概似乎把我写的一个服务器的库给删除了
  • 2026最新城市夜空营销方案推荐!国内优质服务商权威榜单发布,适配活动/节日/定制化/求婚告白/庆典场景 - 品牌推荐2026
  • 2026年成都监理公司推荐:基于多场景项目实测评价,解决效率与合规核心痛点 - 品牌推荐
  • 新手必看!PHP 入门知识大集合,一文带你上手
  • 2026年西安美学木作市场趋势与五家实力厂商价格解析 - 2026年企业推荐榜