JAVA WEB中的相对路径和绝对路径
2018-01-17 10:17
183 查看
最近项目中,遇到相对路径和绝对路径的问题,参考了一些博文,根据自己的理解整理了一下,今后如果有更深刻的理解,可另行修改。
1.相对跳转
和当前uri有关,比如当前地址为:
localhost:8080/test/
点击前端链接以后 <a href="test.jsp"/>
地址变为:
localhost:8080/test/test.jsp
相当于将地址栏中地址最后一个"/"后面的内容,换成href的内容,组合成新的地址。
注:href以"/"开头,是从服务器的根目录开始的路径,这将不包括项目名
如:<a href="/test.jsp"/>
地址变为:
localhost:8080/test.jsp
2.绝对跳转
<a href="<%=basePath%>test.jsp"/>
地址变为:
<a href="/test.jsp"/>
注:依次获取协议名、服务器名、端口号和项目名
此外,绝对地址不能直接访问WEB-INF下的jsp页面
如果jsp页面放在WebContent下,可直接<%=basePath%>+xxx.jsp访问
如果jsp页面放在WEB-INF下,则需要通过springmvc、struts2等进行转发,比如:
<a href="<%=basePath%>test.jsp"/>
-action跳转
1.相对跳转
与jsp跳转类似,比如ajax请求中:
../../xxx/xxx.action
2.绝对跳转
与jsp跳转类似
1.相对跳转
不以"/"开头,是相对路径,根据当前目录进行跳转
2.绝对跳转
以"/"开头,是绝对路径,从项目根目录开始的路径
-action跳转
1.相对跳转
与jsp跳转类似
2.绝对跳转
与jsp跳转类似
绝对跳转:使用已经配置好的basePath(前端)或“/”(后端),从项目根目录下开始写路径,建议使用。
前端
-JSP跳转1.相对跳转
和当前uri有关,比如当前地址为:
localhost:8080/test/
点击前端链接以后 <a href="test.jsp"/>
地址变为:
localhost:8080/test/test.jsp
相当于将地址栏中地址最后一个"/"后面的内容,换成href的内容,组合成新的地址。
注:href以"/"开头,是从服务器的根目录开始的路径,这将不包括项目名
如:<a href="/test.jsp"/>
地址变为:
localhost:8080/test.jsp
2.绝对跳转
<a href="<%=basePath%>test.jsp"/>
地址变为:
<a href="/test.jsp"/>
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
注:依次获取协议名、服务器名、端口号和项目名
此外,绝对地址不能直接访问WEB-INF下的jsp页面
如果jsp页面放在WebContent下,可直接<%=basePath%>+xxx.jsp访问
如果jsp页面放在WEB-INF下,则需要通过springmvc、struts2等进行转发,比如:
<a href="<%=basePath%>test.jsp"/>
@RequestMapping("/test") public String getTest() { return "test/test"; }
-action跳转
1.相对跳转
与jsp跳转类似,比如ajax请求中:
../../xxx/xxx.action
2.绝对跳转
与jsp跳转类似
后端
-jsp跳转1.相对跳转
@RequestMapping("/") public String getIndex() { return "WEB-INF/views/index.jsp"; }
不以"/"开头,是相对路径,根据当前目录进行跳转
2.绝对跳转
@RequestMapping("/") public String getIndex() { return "/WEB-INF/views/index.jsp"; }
以"/"开头,是绝对路径,从项目根目录开始的路径
-action跳转
1.相对跳转
与jsp跳转类似
2.绝对跳转
与jsp跳转类似
总结:
相对跳转:修改最后一个"/"后面的内容,需要考虑namespace,容易出错。绝对跳转:使用已经配置好的basePath(前端)或“/”(后端),从项目根目录下开始写路径,建议使用。
相关文章推荐
- [原创]java WEB学习笔记35:java WEB 中关于绝对路径 和相对路径问题
- 在JAVA WEB项目中,JSP中的图片无法显示,绝对路径和相对路径问题的解决办法。
- 在JAVA web中获取该项目的相对路径和绝对路径
- java web java网站开发相对路径绝对路径
- Java Web中的相对路径与绝对路径总结
- Java Web开发、插件开发、EclipseRCP中相对路径/绝对路径总结
- Java Web中的相对路径与绝对路径总结
- 关于tar打包绝对路径问题(相对路径)
- 绝对路径和相对路径
- 获取当前相对绝对路径
- 相对和绝对路径/cd命令/创建和删除目录mkdir/rmdir/rm命令
- 相对路径和绝对路径
- 相对路径和绝对路径的区别
- 配置文件使用绝对路径还是相对路径?
- 文件的相对路径和绝对路径
- 关于绝对路径和相对路径:
- java(Web)中相对路径,绝对路径问题总结
- iOS开发之Xcode 相对路径与绝对路径
- Ubuntu Terminal 显示绝对路为相对路径
- 2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录2.9 rm命令