springmvc中“/”和前端中“/”的代表含义

今天做毕业设计遇到了springmvc中“/”和前端中“/”代表含义的问题,折磨了我挺久的,网上找到这两篇博客不错:

https://www.cnblogs.com/hi3254014978/p/11610997.html
https://blog.csdn.net/qq_41581154/article/details/102551206

但是吧 里面也有些验证之后发现不对的,这里我做个总结

servlet中重定向或请求转发路径以及html中href或src网址如果用“/”开头,代表当前项目下的路径.
浏览器转发这条路径时会自动加上当前项目的路径前缀,如果这个路径不是以“/”开头,那么代表这个路径和当前文件路径
前缀是同一个(即该文件的url地址,注意但是并非该文件在项目中的物理地址),浏览器访问该网址时会自动加上当前文件的路径前缀。

这里注意下 我还看到网上还有其他版本的:就是如果以“/”开头的重定向代表当前服务器的路径。
我也疑惑了好久,两种说法,所以自己验证过了,第一个是对的:
在servlet端不管是重定向还是转发,只要带上“/”都代表当前项目路径


我自己遇到的问题是servlet转发跳转到前端页面的时候,该页面有这么一个引用:asserts/css/bootstrap.min.css在这里插入图片描述
后端跳转代码如下:有两种方式跳转
在这里插入图片描述
出现的问题:
第一种方式的跳转可以加载样式,而第二种的无法加载样式
报错如下:
在这里插入图片描述
正确路径应为:
http://localhost:8451/crud/asserts/css/bootstrap.min.css

照理来说没有“/” 代表这个路径和当前所在html的路径前缀是同一个:
http://localhost:8451/crud/

第二种情况显然并没有如我所愿,原因在于:
此时toadd.html页面路径前缀并不是 http://localhost:8451/crud/
而是http://localhost:8451/crud/emp/,因为这个页面由是servlet转发后跳转的,即浏览器地址为servlet地址,而非toadd.html在项目结构中的位置。

所以此时没有“/” toadd.html的路径为http://localhost:8451/crud/emp/3,

它的路径前缀为http://localhost:8451/crud/emp/

而第一种情况它的路径为http://localhost:8451/crud/emp/
所以前缀即为http://localhost:8451/crud/

那么相对路径是没办法统一的,因为两不同请求方式的路径不同,所以这里采用绝对路径解决问题:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值