在jsp页面中,我们通常看到代码。
< % String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
我使用这种方式获取静态资源:
<script type="text/javascript" src="<%=path%>/js/jquery-1.9.1.min.js"></script>但我发现用另一种方式也没问题。
<script type="text/javascript" src="<%=basePath%>/js/jquery-1.9.1.min.js"></script>有什么区别?我什么时候应该只使用basePath?或者它们有相同的效果?
发布于 2017-05-19 03:29:47
例如,basePath是web应用程序的绝对路径。
http://example.net:8080/mycontext/而path只是上下文路径,即
/mycontext 使用basepath获取(静态)资源可以在一个简单的网络拓扑/设置中工作。在这样一个场景中,您的应用程序在负载均衡器后面,使用basePath破坏了负载平衡的思想,因为请求与JSP的主机和端口相同。
由于您的web应用程序可能位于负载均衡器、防火墙或web服务器后面,因此不建议使用basePath方法,因为您不知道用户在更复杂的网络设置中看到哪个URL。
https://stackoverflow.com/questions/44060577
复制相似问题