$ {pageContext.request.contextPath}在本地工作正常,但显示为空白

时间:2015-05-25 17:22:25

标签: jsp servlets contextpath

目前我正在使用

${pageContext.servletContext.contextPath}

${pageContext.request.contextPath}

在JSP页面上打印上下文路径。它适用于本地服务器,但是当我上线时,它会打印空白而不是实际路径。

我能够打印请求端口号和请求方法,但不能打印上下文路径。

这是如何引起的?如何解决?

1 个答案:

答案 0 :(得分:3)

当它部署到root时会发生这种情况。例如。在Tomcat中为ROOT.war,或者具有/的上下文路径。然后${pageContext.request.contextPath}将解析为空字符串。

如果您真正看到"上下文路径"在浏览器的地址栏URL中,当webapp发布到(可怜的)第三方主机时会发生这种情况,而第三方主机实际上会以root身份部署webapp并添加"上下文路径"到该主机上的某个代理服务器。您可以通过检查响应标头中的Server条目来检查/确认。您最好联系第三方主机,以获取有关如何获取有关该"上下文路径"的信息的线索。来自代理服务器(可能它存在于请求标头中),或寻找不那么便宜的第三方主机。