java webapp,getContext总是返回相同的对象

时间:2013-03-28 05:16:02

标签: java tomcat web-applications

注意:这不是交叉发布,提出不同的问题(相关的ClassCastError when share objects between webapp

我有两个webapps在同一个tomcat实例上的两个不同的上下文中运行,当第二个应用程序试图获取第一个应用程序上下文时,无论我输入的是什么名称,该对象都是相同的上下文,这是错误的。

public void contextInitialized(ServletContextEvent sce) {
       ServletContext context= sce.getServletContext().getContext("/bling");
       ServletContext context2= sce.getServletContext().getContext("/bla");

对象context和context2都有这个对象id org.apache.catalina.core.ApplicationContextFacade@4376。

我正在使用tomcat7。有小费吗? TKS

更新 提出所有好建议。 如果第二个webapps(上面的代码片段)部署在服务器的ROOT(必须在我的结构中,不能更改),就会出现问题。更多提示。 TKS。

1 个答案:

答案 0 :(得分:2)

我猜这是一个时间问题。也许当初始化ServletContext A并尝试获取ServletContext B时,ServletContext B尚未初始化/部署。

要证明这一点,请在servlet doGet中尝试另一个测试,并在确定两个webapps都已正确部署时调用它