如何在java网页中使用路径和basepath?

时间:2017-05-19 02:42:05

标签: java jsp spring-mvc

在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?或者它们具有相同的效果?

1 个答案:

答案 0 :(得分:1)

basePath是您的Web应用程序的绝对路径,例如

http://example.net:8080/mycontext/

path只是上下文路径,即

/mycontext 

使用basepath获取(静态)资源可在简单的网络拓扑/设置中工作。在您的应用程序落后于负载平衡器的情况下,使用basePath会破坏负载平衡的概念,因为请求会转到与JSP相同的主机和端口。

由于您的Web应用程序可能位于负载均衡器,防火墙或Web服务器之后,因此您不建议使用basePath方法,因为您不知道用户在更复杂的网络中看到了哪个URL设置。