我目前在 Tomcat 6 上运行一个 Java 网络应用程序,并在 Apache HTTP Server 中设置了一个虚拟主机以将请求转发到 Tomcat。因此上下文路径不同。当在
访问 Web 应用程序时http://server:8080/WebApp
上下文路径是“/WebApp”并且检索到上下文。当通过代理访问同一个 JSP 时
http://webapp/
上下文路径是 '' 并且 application.getContext() 返回 null。
设置虚拟主机时是否有任何配置我可能遗漏了,或者这是应用程序代码的问题?
最佳答案
打电话没意义
application.getContext(application.getContextPath())
getContext
方法用于获取对不同 Web 应用程序的ServletContext
的引用(规范允许容器如果当前应用没有访问其他上下文的权限,则返回 null
- 这是 Tomcat 中的默认设置,除非您在上下文配置文件中指定了 crossContext="true"
).
您已经在 application
变量中引用了当前 webapp 的 ServletContext
。
关于java - 当上下文路径为 '' 时,application.getContext() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18588597/