SpringBoot兼容SpringMVC带有.do后缀的请求
背景
MVC框架请求的都是.do后缀,但controller控制层拦截的是没有后缀的链接。如controller请求/111/222,当请求/111/222.do时,可以正常进入。当我们将存量一些旧工程(si'huaSpringMVC框架)升级到Springboot后,发现无法进入,此处我们针对这块进行最丝滑的适配。
版本信息
Springboot:2.7.17
方案
- 1、请求方改造,将.do删除---除非该系统调用者很少,或者接口很少的情况
- 2、提供方改造,基于过滤器或者拦截器,拦截到.do后,重定向。--不推荐,所有do请求都会发生重定向
- 3、提供方改造,兼容.do请求---比较丝滑,推荐
方案三详解
yaml增加后缀功能
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
use-suffix-pattern: true
编码侧
/**
* @author weipt
* @description 受理.do请求,不发生302重定向
* @date 2024/9/6 23:09
*/
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.mediaType(".do", MediaType.ALL);
}
}
自测
- 后端写个controller,拦截/111/222
- 前端请求/111/222.do
- 如果能进入,就代表ok
拓展
关于DispatcherServlet
传统的MVC中,我们需要自定义DispatcherServlet,并设置拦截路径,比如*.do,但升级到Springboot后,启动的时候会默认创建DispatcherServlet,并拦截/**,所以我们需要再自定义DispatcherServlet,即使注册,日志中也会提示,这个大家可以观察
关于@EnableMVC注解
我们已经升级到Springboot,该注解已经不需要,反而加上后,会导致一些配置失效,慎用。
帮人帮到底,送佛送到西
如果上述操作,无法解决你的问题,可以与我联系:
邮件地址:weipingtao@qq.com
邮件标题:【问题方案咨询】xxxxx
SpringBoot兼容SpringMVC带有.do后缀的请求的更多相关文章
- SpringBoot对比SpringMVC,SpringMVC 处理请求过程
(问较多:1.SpringBoot对比SpringMVC.2.SpringMVC 处理请求过程.问:springboot的理解 Spring,Spring MVC,Spring Boot 三者比较 S ...
- SpringBoot接管SpringMvc
SpringBoot接管SpringMvc Spring Web MVC framework(通常简称为“Spring MVC”)是一个丰富的“model 视图控制器”web framework. S ...
- java框架之SpringBoot(5)-SpringMVC的自动配置
本篇文章内容详细可参考官方文档第 29 节. SpringMVC介绍 SpringBoot 非常适合 Web 应用程序开发.可以使用嵌入式 Tomcat,Jetty,Undertow 或 Netty ...
- SpringBoot中SpringMVC的自动配置以及扩展
一.问题引入 我们在SSM中使用SpringMVC的时候,需要由我们自己写SpringMVC的配置文件,需要用到什么就要自己配什么,配置起来也特别的麻烦.我们使用SpringBoot的时候没有进行配置 ...
- [转]struts2处理.do后缀的请求
原文地址:http://skyuck.iteye.com/blog/545988 默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org. ...
- struts2处理.do后缀的请求
默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org.apache.struts2包下的default.properties文件). 但 ...
- Springboot中使用AOP统一处理Web请求日志
title: Springboot中使用AOP统一处理Web请求日志 date: 2017-04-26 16:30:48 tags: ['Spring Boot','AOP'] categories: ...
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析 一:问题demo展示 ...
- Struts2 无后缀action请求
如果将Struts2的filter-mapping配置成 <filter-mapping> <filter-name>struts2</filter-name> & ...
- 解决微信小程序用 SpringMVC 处理http post时请求报415错误
解决微信小程序用 SpringMVC 处理http post时请求返回415错误 写微信小程序时遇到的问题,这个坑硬是让我整了半天 wx.request请求跟ajax类似处理方法一致 小程序端请求代码 ...
随机推荐
- Mysql 分表分库的策略
为什么要分表? 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了. 分表的目的就在于此,减小数据库的负担,缩短查询时间. 日常开发中我们经常会遇到大表的情况 ...
- docker-compose创建haproxy教程
本文主要讲解通过docker-compose创建haproxy并进行代理 一.haproxy简介 HAProxy是一款基于事件驱动.单进程模型设计的四层与七层负载均衡器,它能够在TCP/UDP层面以及 ...
- css浅谈Flex布局
1.打开Flex布局 .box{ display: flex; } 2.容器的属性 flex-direction flex-wrap flex-flow justify-content align-i ...
- python配置国内pypi镜像源操作步骤
使用pip config命令设置默认镜像源,使用国内的源,提高安装速度 操作步骤 临时方式pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/si ...
- IP协议学习笔记
目录 IP地址格式 IP分类 CIDR 和 子网掩码介绍 NAT+公网.私网地址 CIDR 与 VLSM VLSM 子网划分案例 练习 Reference IP的作用类似物理世界中的地址,用于定位机器 ...
- VUE系列---深度解析 Vue 优化策略
在前端开发中,性能优化一直是一个重要的课题.Vue.js 提供了多种优化策略,帮助开发者构建高性能的应用.本文将深入解析以下几个优化策略: 使用 v-once.v-if 和 v-show 的区别和优化 ...
- golang 学习笔记1
1.go的gin框架,没有预设目录,具体目录可以在网上参考.
- 青少年CTF擂台挑战赛 2024 #Round 1
青少年CTF擂台挑战赛 2024 #Round 1 crypto 1.解个方程 题目: 欢迎来到青少年CTF,领取你的题目,进行解答吧!这是一道数学题!! p = 474356125652182661 ...
- HDP 源码集
HDP 各个组件的源码(含历史各个版本) 分支 组件 标签 最后发版时间 地址 hadoop 2256 2020-12-21 17:44 https://gitee.com/piaolingzxh/h ...
- 【英伟达】GTC 2024|黄仁勋2小时演讲精华版|六大亮点| Blackwell GPU | DGX B200 | NVL72 | cuLitho | GROOT | Omniverse Cloud —— 智能机器人元年
视频地址: https://www.youtube.com/watch?v=zBIddyiMXsU