目前我正在使用
${pageContext.servletContext.contextPath}
或
${pageContext.request.contextPath}
在JSP页面上打印上下文路径。它适用于本地服务器,但是当我上线时,它会打印空白而不是实际路径。
我能够打印请求端口号和请求方法,但不能打印上下文路径。
这是如何引起的?如何解决?
答案 0 :(得分:3)
当它部署到root时会发生这种情况。例如。在Tomcat中为ROOT.war
,或者具有/
的上下文路径。然后${pageContext.request.contextPath}
将解析为空字符串。
如果您真正看到"上下文路径"在浏览器的地址栏URL中,当webapp发布到(可怜的)第三方主机时会发生这种情况,而第三方主机实际上会以root身份部署webapp并添加"上下文路径"到该主机上的某个代理服务器。您可以通过检查响应标头中的Server
条目来检查/确认。您最好联系第三方主机,以获取有关如何获取有关该"上下文路径"的信息的线索。来自代理服务器(可能它存在于请求标头中),或寻找不那么便宜的第三方主机。