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