2016-05-28 1 views
0

Je travaille avec le printemps et moi avons écrit le web.xml suivantprintemps comment utiliser WebApplicationContex dans web.xml

<web-app> 
<display-name>Archetype Created Web Application</display-name> 
<servlet> 
<servlet-name>appServlet</servlet-name> 
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
<init-param> 
<param-name>configContextLocation</param-name> 
<param-value>/WEB-INF/spring/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> 

Lorsque j'exécute le web je reçois l'erreur

org.springframework.beans.factory.BeanDefinitionStoreException: IOException 
parsing XML document from ServletContext resource [/WEB-INF/appServlet- 
servlet.xml]; nested exception is java.io.FileNotFoundException: Could not 
open ServletContext resource [/WEB-INF/appServlet-servlet.xml] 

J'ai lu dans les forums ce que c'est parce que j'ai besoin d'un appServlet-servlet.xml parce que mon servlet s'appelle appServlet.

J'ai quelques questions. Dois-je appeler mon servlet-context.xml appServlet-servlet.xml?

Comment réparer mon fichier web.xml?

Répondre

0

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-servlet

De la documentation du printemps, il est dit:

Lors de l'initialisation d'un DispatcherServlet, Spring MVC recherche un fichier nommé [servlet-name] -servlet.xml dans le répertoire WEB-INF de votre Application Web

Modifiez-vous servlet-context.xml à appServlet-servlet.xml et de mettre sous WEB-INF directement.

Une meilleure façon de démarrer le contexte du printemps est de définir un auditeur

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

et définir l'emplacement du contexte de printemps dans

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

Le printemps est pas bootstrapped du web.xml, parce que vous faites ne pas avoir la magie:

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

Je suppose que vous devez avoir une certaine configuration java ou botte de ressort pour cela. Mais par conséquent, il n'utilise pas la configuration web.xml.