Как добавить контекст приложения в web.xml

Как добавить applicationcontext.xml, который находится в папке моих тестовых ресурсов, в web.xml. я пробовал это

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/test/resources/com/reg/applicationcontext.xml</param-value>
</context-param>

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

Я запускаю команду mvn war:war и развертываю военный файл в apache. Но показывает ошибку.

Mar 12, 2013 11:31:07 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Mar 12, 2013 11:31:07 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/myapp] startup failed due to previous errors

Может кто-нибудь помочь мне? Спасибо

локальный хост.

Mar 12, 2013 11:19:57 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Mar 12, 2013 11:31:07 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4733)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:977)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1655)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Mar 12, 2013 11:31:07 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)

person Shiju K Babu    schedule 12.03.2013    source источник
comment
Вы используете tomcat правильно? Можете ли вы опубликовать catalina.log?   -  person Iswanto San    schedule 12.03.2013
comment
проверьте ссылку ниже... stackoverflow.com/questions/9197112/   -  person Mallikarjuna Reddy    schedule 12.03.2013
comment
где ссылка @GMR?   -  person Shiju K Babu    schedule 12.03.2013
comment
@IswantoSan 12 марта 2013 г., 11:31:07. /appanalytix] запуск не удался из-за предыдущих ошибок   -  person Shiju K Babu    schedule 12.03.2013
comment
@ShijuKBabu, как насчет localhost.log? Вы можете опубликовать это в своем вопросе?   -  person Iswanto San    schedule 12.03.2013
comment
@IswantoSan я добавил   -  person Shiju K Babu    schedule 12.03.2013
comment
@ShijuKBabu: Теперь у вас есть ответ, вы можете попробовать.   -  person Iswanto San    schedule 12.03.2013


Ответы (3)


Вам не хватает spring-web.jar в пути к классам.

Попробуйте добавить это в свою конфигурацию maven:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <type>jar</type>
    <scope>compile</scope>
</dependency>
person Iswanto San    schedule 12.03.2013

Вы помещаете applicationContext.xml в тестовый каталог? это огромная ошибка. поскольку вы используете mvn, вы должны поместить его в директорию main->resource, потому что когда вы используете mvn war:war, он не собирает файл в тестовой директории. Затем поместите ниже в web.xml

 <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
           classpath:**the sub dir in you resource which the config xml is in** /applicationContext.xml
        </param-value>
    </context-param>
person OQJF    schedule 12.03.2013

Это простой веб-xml-файл. Обратитесь к нему и измените пути в соответствии с вашими потребностями.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${your_spring_vserion}</version>
</dependency>
5.xsd"> <!-- The definition of the Root Spring Container shared by all Servlets and Filters --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/root-context.xml</param-value> </context-param> <!-- Creates the Spring Container shared by all Servlets and Filters --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Processes application requests --> <servlet> <servlet-name>appServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

EDIT: Also your app seem to be missing spring-web jar. Make sure you have it in classpath.

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${your_spring_vserion}</version>
</dependency>
person Jeevan Patil    schedule 12.03.2013
comment
servlet-context.xml — это почтовый xml-файл. Объявленный выше может использоваться для объявления bean-компонентов, связанных с безопасностью hibernate, spring. Всегда лучше иметь для них разные XML-файлы. - person Jeevan Patil; 12.03.2013