方式一:
在jsp文件中获取根路径:
<% String basePath = request.getContextPath(); %>
在单独的Js文件中不能使用<%= basePath %>类似这样的,但可以通过在Jsp页面引入Js变量来解决路径问题:
<script type="text/javascript">
var basePath ="<%=basePath %>"; //只能放在Jsp页面中获取,这样单独的Js文件就能使用basePath 了。
</script>
方式二:
var localObj = window.location;
var contextPath = localObj.pathname.split("/")[1];
var basePath = localObj.protocol+"//"+localObj.host+"/"+contextPath;
问题:
这个是我们配置域名前的URL:http://localhost:8080/web-zhongmin/order/
这是我们配置域名后的URL:http://java2017.zhongmin.cn/order/
请注意:
问题就在于端口号后面的"/",方法二的contextPath变量用的是斜杠截取,所以配置域名前拿到了的contextPath 是web-zhongmin没错,配置后拿到了的是order就无法访问资源了。
最后,如果没有找到更好的方法前就使用方式一,如果找到了请大神告诉我,我叫小白.......