url-pattern配置为"/"和"/*"的区别

2023-10-27

url-pattern配置为"/"和"/*"的区别

最近在学习springMVC框架,对于其前端控制器的过滤配置url-pattern很困惑。遂百度查各种资料,翻阅各种博客,发现每个人的说法都不一样,很多人的理解都是错的!于是找大牛解惑,大牛就是大牛,一下子就让我明白了。

解:首先大家都知道"/*"可以匹配所有url,包括带扩展名的,一般只用在过滤器上。

而"/"很多人理解成不能拦截带扩展名的,这种理解是错误的!它其实也能拦截“.js”,“.css”,".png"等静态资源的访问。

看官方文档可知,它是tomcat的默认servlet,当其他的url-pattern匹配不上时都会走这个servlet。它除了能够处理静态资源还能够处理HTTP缓存请求,媒体(音频/视频)数据流和文件下载简历。所以如果我们的项目中配置了"/",会覆盖掉tomcat中的default servlet。


tomcat服务器的web.xml配置:

所以当springMVC的前端控制器配置为“/”时,需要在主配置文件中配置放行静态资源。

第一种:

<!-- 放行静态资源 -->

<mvc:resources location="/js/" mapping="/js/**"/> 

<mvc:resources location="/css/" mapping="/js/**"/>

 <mvc:resources location="/images/" mapping="/js/**"/>

第二种:

<mvc:default-servlet-handler />

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

url-pattern配置为"/"和"/*"的区别 的相关文章

随机推荐

  • 利用VisualStudio进行Debug和Release版本的控制

    如何实现Debug与Release版本的控制 项目 右键 属性 配置属性 C C 常规 附加包含目录 附加包含目录中包含所需要的其他头文件 在最后加上 AdditionalIncludeDirectories C C 代码生成 运行库 De
  • 充电器与电瓶的匹配

    充电器不匹配有几种类别 相应也有不同的情况发生 第一种情况 充电器的充电电压和电动车的电压相同 只是安时配置不同 即 在两者电压相同的情况下 电动车用的是12安时电瓶 而充电器配置是专门充20安时的 这样的不匹配对电瓶影响不大 只是充满电的
  • 更新Openssh9.1,openssl3.0

    更新Openssh9 1 openssl3 0 1 利用yum安装依赖包 yum y install gcc gcc c zlib zlib devel openssl openssl devel pam devel libselinux
  • 95-33-020-ChannelHandler-ChannelHandler简介

    文章目录 1 概述 2 类图 2 1 继承逻辑图 2 2 方法图 1 概述 ChannelHandler并没有方法处理事件 而需要由子类处理 ChannelInboundHandler拦截和处理入站事件 ChannelOutboundHan
  • maven-compiler-plugin报错解决

    Failed to execute goal org apache maven plugins maven compiler plugin 3 10 1 compile default compile on project demo Fat
  • background 距离右边固定距离

    先说一下 background position 的表现 当使用关键字的时候 关键字的顺序是无关的 即 background position center top 和 background postion top center 是等价的
  • Spring Boot 学习研究笔记(十三) Spring Data JPA与PostgreSQL的jsonb类型集成

    Spring Data JPA与PostgreSQL的jsonb类型集成与支持 在我们项目中经常会遇到数据结构不定的情况 这时普通的关系型数据库不能满足我们的要求 Postgres为我们提供了jsonb数据类型 我们可在此类型的字段存储js
  • Hello,移动WEB—px,dp,dpr像素基础

    问题点1 iphone5分辨率 640 1136 dp 为什么chrome浏览器F12中显示的320 568 iPhone5 分辨率640 1136指的是 物理像素 而实际开发中用的px是 逻辑像素 px 逻辑像素 浏览器使用的抽象单位 抽
  • 记一次测试webSocket的连接

    记一次测试webSocket的连接 注 使用node js本地连接测试了一下 最后与后端进行连接 测试可通 前端页面 使用了elementUi库
  • SiamRPN VOT2018竞赛提交代码解读

    SiamRPN VOT CODE 上一篇文章解析了SiamRPN DaSiamRPN 的论文 但是光说不练是不行的 好在其团队还是给出了竞赛用的代码 虽然没有训练部分 但有的总比没有的强 这里就简要解析一下代码 欢迎交流 1 主要文件引用关
  • 2023年7月京东彩妆市场品牌销售排行榜(京东数据挖掘)

    鲸参谋监测的京东平台7月份彩妆市场销售数据已出炉 鲸参谋数据显示 7月份彩妆市场整体呈现下滑趋势 从大盘数据可知 京东7月的销量将近350万 环比下滑约38 同比下滑约22 销售额为5 1亿 环比下滑约44 同比下滑约24 数据源于鲸参谋
  • GIS技术 离线地图实现

    前言 做了一个地理信息采集系统的项目 项目在部署时为单机环境 没有互联网环境 这就要求地图底图需要离线 导航也需要离线 这篇文章就是记录地图底图离线的方案以及在实现过程中遇到的一些问题 记录这篇文章不是为了探索如何实现离线地图 而是为了记录
  • Qt 工具 windeployqt 自动打包 exe 程序

    1 背景 开发好 Qt 程序 编译好 exe 在自己电脑上运行完全没问题 还需要放到其他电脑 windows 上依旧可正常运行 其他电脑上有的没有带运行时所需的库 所以需要把 exe 需要的所有依赖的库都打在一个包里 2 如何使用 在 Qt
  • php 区块链算法_PHP区块链(完整可运行,入门级)

    实例简介 可以发行自己的货币 实例截图 核心代码 class block private index private timestamp private data private previous hash private random s
  • Kaggle竞赛:泰坦尼克号灾难数据分析简单案例

    Kaggle竞赛 泰坦尼克号灾难数据分 https www kaggle com c titanic 目标确定 根据已有数据预测未知旅客生死 数据准备 数据获取 载入训练集csv 测试集csv 数据清洗 补齐或抛弃缺失值 数据类型变换 字符
  • 最全的IDEA配置JDK1.8语法支持步骤

    可以把JDK1 8下载好 我把资源上传了 什么时候审核通过我把链接放到这里 有如果有人需要直接留言私信哈 首先 我们双击 进入安装界面直接按照提示进行安装 注意啦 一定要重视安装的路径 默认是C盘 不过我安在了我电脑上的E盘 所以一定要注意
  • 面试官:谈谈过滤器和拦截器的区别?

    您好 我是路人 更多优质文章见个人博客 http itsoku com 一 拦截器和过滤器的区别 1 拦截器 Interceptor 只对action请求起作用 即对外访问路径 而过滤器 Filter 则可以对几乎所有的请求都能起作用 包括
  • js的克隆

    浅克隆 Objext assign lodash的 clone 方法 浅克隆函数 function shallowClone o const obj for let i in o obj i o i return obj 被克隆对象 con
  • Couldn‘t build proto file into descriptor pool

    这是protobuf二进制的问题 解决该问题的唯一方法是安装纯python的实现 具体如下 pip uninstall protobuf pip install no binary protobuf protobuf
  • url-pattern配置为"/"和"/*"的区别

    url pattern配置为 和 的区别 最近在学习springMVC框架 对于其前端控制器的过滤配置url pattern很困惑 遂百度查各种资料 翻阅各种博客 发现每个人的说法都不一样 很多人的理解都是错的 于是找大牛解惑 大牛就是大牛