对于使用类似springmvc requestmapping跳转至页面导致的静态资源文件找不到的错误的理解

本文探讨了SpringMVC框架中使用@RequestMapping注解进行页面跳转时相对路径的变化规律,并提供了理解这一现象的一种方法。作者通过实验发现,跳转后的页面相对路径会根据@RequestMapping的设置自动调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己在接触时发现了这个问题,在网上找答案只能说没有什么人给出了明确的解决办法或者思路。这里是自己的对于这个问题一点点尝试得出的一点结论,但是没有揪出它的原理,仅供参考。


通过requestmapping注解映射并跳转,在跳转到的html或者jsp页面上的相对路径会发生变化,不再是页面所在目录了。那是什么呢???举例说明


@requestmapping(“/test”),如果是进入到这个映射中,相对路径是:http://ip地址:端口号/项目名/  


@requestmapping("/test/1"),如果是这种,相对路径是:http://ip地址:端口号/项目名/test/   


由此发现了什么??

requestmapping本身定位到项目根目录,这是毋庸置疑的,requestmapping后面跟的路径再回退一级(/test/1回退到/test),就是跳转到的页面所采用的相对路径,因此网上可以搜到建议使用此类框架时,页面所引用的css等静态文件的路径都采用绝对路径。但并没有解释如果不采用绝对路径方式的话该怎么办。


这里我暂且把相对路径看做成一个变量,经过springmvc跳转时,框架将这个变量值变化了,所以到了目标页面,这个值也没有改过来(小白的理解方式,为的是好记),当然知其然更要知其所以然,如果有大神知道其中细节的话,希望可以给予指导~大笑

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值