springmvc @RequestMapping() 相对路径

好名字给猪了 2015-06-24 06:17:18
...全文
1299 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inhibitory 2015-06-25
  • 打赏
  • 举报
回复
引用 6 楼 u010131956 的回复:
[quote=引用 1 楼 Inhibitory 的回复:] 最好都用绝对路径,否则后期会有很多麻烦。
如果js文件里面引用图片 image/xx/xx 这样也会默认带上springmvc 类上的路径(info),也就是info/image/xx/xx js 里引用图片用绝对路径是这样的 var curWwwPath=window.document.location.href; var pathName=window.document.location.pathname; var pos=curWwwPath.indexOf(pathName); var localhostPaht=curWwwPath.substring(0,pos); //域名 var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); //项目名称 原地址为:http://localhost:8080/project 改后地址:http://localhost:8080 用绝对路径 就要把js文件里面每一个引用的图片去掉projectName。 不用绝对路径的他会自动加上info。郁闷啊 [/quote] 1. 首先我认为,一个网站的URL就不应该带project name(开发的时候带,发布后不带,不统一,自找麻烦,所以开发和发布最好统一),例如 www.apple.com/index.html,很少有 www.apple.com/myproject/index.html 2. 即使url要带project name,那么用request取得context path + 绝对路径就可以了,也不需要相对路径
好名字给猪了 2015-06-25
  • 打赏
  • 举报
回复
引用 1 楼 Inhibitory 的回复:
最好都用绝对路径,否则后期会有很多麻烦。
如果js文件里面引用图片 image/xx/xx 这样也会默认带上springmvc 类上的路径(info),也就是info/image/xx/xx js 里引用图片用绝对路径是这样的 var curWwwPath=window.document.location.href; var pathName=window.document.location.pathname; var pos=curWwwPath.indexOf(pathName); var localhostPaht=curWwwPath.substring(0,pos); //域名 var projectName=pathName.substring(0,pathName.substr(1).indexOf('/')+1); //项目名称 原地址为:http://localhost:8080/project 改后地址:http://localhost:8080 用绝对路径 就要把js文件里面每一个引用的图片去掉projectName。 不用绝对路径的他会自动加上info。郁闷啊
  • 打赏
  • 举报
回复
三楼说的很赞。 一般项目中还是不要用绝对路径的好
豫让_______ 2015-06-25
  • 打赏
  • 举报
回复
是eclipse吗? 是不是你的Services下的 server.xml最后一行配置问题
  <Context docBase="xxx" path="/" reloadable="true" source="xxx"/></Host>
你的那个path值是什么,默认访问路径就会在项目名后面加什么,比如这里是斜杠,就会啥也不加。
scott_129 2015-06-25
  • 打赏
  • 举报
回复
在你的页面上,获取当前项目的地址,再加上你的controller的路径不就可以了吗, 例如:在页面上获取request.contextPath+"/info/getInfo"
skgary 2015-06-25
  • 打赏
  • 举报
回复
楼主要搞清楚相对路径相对的是谁的路径。 在WEB项目中,相对路径相对的是用户上一个访问的路径,服务器不会帮你加什么东西上去的。 针对你提到的1和2两种情况,实际上你上一个访问中,访问的地址都是 http://localhost:8080/project/info/,当你在页面中,放一个a标签,是getInfo时,那用户点击时就是http://localhost:8080/project/info/getInfo 当A标签是list/getInfo时,用户点击时就是http://localhost:8080/project/info/info/getInfo,这两个都是相对于原来的URL的 这里要额外提醒你的是,原来的url是http://localhost:8080/project/info/ 和http://localhost:8080/project/info,这两个虽然只差了一个"/",但实际上差了一组路径。 如果说用绝对URL,我个人是不建议的,因为当你的Project 名字改变时,任何在写死的绝对路径都需要改变。
Inhibitory 2015-06-24
  • 打赏
  • 举报
回复
最好都用绝对路径,否则后期会有很多麻烦。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧