在JBoss配置中使用Spring ContextLoaderListener和默认WAR

在JBoss配置中使用Spring ContextLoaderListener和默认WAR,spring,jboss,Spring,Jboss,我正在尝试使用Spring来配置部署在JBoss中的web应用程序。我已将以下内容添加到web.xml中: <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 那么,我如何告诉ContextLoaderListener忽略此错误,或者至少绕过这些特定的WAR,同时仍在尝试处理我

我正在尝试使用Spring来配置部署在JBoss中的web应用程序。我已将以下内容添加到web.xml中:

<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

那么,我如何告诉ContextLoaderListener忽略此错误,或者至少绕过这些特定的WAR,同时仍在尝试处理我自己的WAR呢?

您的应用程序上下文必须位于
/WEB-INF/applicationContext.xml
。由于这是特定于应用程序的,因此应该为您的应用程序而不是其他应用程序配置它。也就是说,不要在应用程序服务器级别映射
ContextLoaderListener

您可以使用以下命令设置替代位置:

<context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
         /WEB-INF/mylocation/spring.xml
     </param-value>
</context-param>

上下文配置位置
/WEB-INF/mylocation/spring.xml

但是您不能(也不能)忽略它。

您的应用程序上下文必须位于
/WEB-INF/applicationContext.xml
。由于这是特定于应用程序的,因此应该为您的应用程序而不是其他应用程序配置它。也就是说,不要在应用程序服务器级别映射
ContextLoaderListener

您可以使用以下命令设置替代位置:

<context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
         /WEB-INF/mylocation/spring.xml
     </param-value>
</context-param>

上下文配置位置
/WEB-INF/mylocation/spring.xml

但是你不能(也不能)忽视它。

我不确定我是否在跟踪你。。。你是说我必须将/WEB-INF/applicationContext.xml添加到所有的.war文件中,即使它只是一个空文件?jboss默认设置包括6个war:admin-console.war、http-invoker.sar/invoker.war、jbossws.sar/jbossws-management.war、jmx-console.war、management/console-mgr.war和ROOT.war。我通过这样做(添加一个空的applicationContext.xml)解决了这个问题,不得不改变这些似乎有点像黑客。jboss默认附带的WAR永远不会有任何spring配置。不,我的意思是你必须只为你的应用程序声明ContextLoaderListener,而不是全部!出于某种原因,我有一个错误的想法,即可以添加过滤器的唯一位置是jbossweb.deployer下的web.xml。谢谢,这当然是正确的解决方案!我不确定我是否在跟踪你。。。你是说我必须将/WEB-INF/applicationContext.xml添加到所有的.war文件中,即使它只是一个空文件?jboss默认设置包括6个war:admin-console.war、http-invoker.sar/invoker.war、jbossws.sar/jbossws-management.war、jmx-console.war、management/console-mgr.war和ROOT.war。我通过这样做(添加一个空的applicationContext.xml)解决了这个问题,不得不改变这些似乎有点像黑客。jboss默认附带的WAR永远不会有任何spring配置。不,我的意思是你必须只为你的应用程序声明ContextLoaderListener,而不是全部!出于某种原因,我有一个错误的想法,即可以添加过滤器的唯一位置是jbossweb.deployer下的web.xml。谢谢,这当然是正确的解决方案!