2017-05-19 66 views
0

在一个jsp页面中,我们通常会看到代码。如何在java网页中使用path和basepath?

< % 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

basePath就是比如你的web应用的绝对路径

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

path只是即

/mycontext 

上下文路径使用basepath获取(静态)资源的简单工作网络拓扑/设置。在应用程序位于负载均衡器后面的情况下,使用basePath会破坏负载平衡的想法,因为请求会与JSP相同的主机和端口。

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

+0

那么使用路径比bathpath更好吗? – flower

+0

@flower只要你没有任何理由使用基本路径,建议使用上下文路径(即你的'path'变量) – andih

相关问题