java web项目中url路径问题(带不带“/”)
程序员文章站
2022-05-31 11:46:10
...
java web项目中url路径问题(带不带“/”)
刚学习javaweb不久,其中资源日访问路径的问题一直困扰我,一番查阅后,总算是对资源路径问题有了一个更清晰的认识。
javaWeb中访问资源的几种方式
- 重定向
- 转发
- 超链接
- 表单提交
除了请求转发,其他的几种方法都是浏览器发起的.
路径开头直接“/”表示当前路径
浏览器端 和 服务器端 发起请求的当前路径不相同
1、浏览器发起的请求中的“/”表示“Tomcat/webapps”目录下,比如你在浏览器中输入“localhost:8080/TaoBao”中的“/”就是表示Tomcat/webapps,调用资源的时候需要写/TaoBao/index.jsp
2、而服务器发起的请求中“/”表示“Tomcat/webapps/TaoBao”的目录,调用的时候写/index.jsp
总结:
- 浏览器端调用资源,需要加上项目名,服务器端调用资源不需要加项目名
- “/” 代表参考路径为 :localhost:8080/项目名(服务器发起请求) 或 localhost:8080/ (浏览发起请求)
那么不加 “/” 又是什么意思呢?
如果不加 “/” 表示以当前资源的路径为参考路径
- 之前解释了 “/” 在不同请求下代表不同的参考路径,这里不加“/” 就是表示默认以当前的资源路径为参考路径。
- 所以如果不加 “/”则,在写资源路径时需要考虑当前参考路径的位置,很不方便
前端页面可以使用 < base > 标签来解决不加 “/” 时路径的的问题
base标签表示当前资源不加 “/” 时,默认的参考路径
<%
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
%>
<base href="<%=basePath%>">
这样就可以将不加“/”时的默认路径设置为项目的根路径,这样在请求其他资源时就可以不写“/”
<script type="text/javascript" src="jquery/jquery-1.11.1-min.js"></script>
参考:https://blog.csdn.net/Mart1nn/article/details/82899835
上一篇: java获取项目路径
下一篇: JAVA获取项目路径