2017-10-10 10 views
1

J'essayais de faire une application web JAVA simple en utilisant Spring MVC. J'ai essayé d'ajouter des fichiers CSS et JS à l'intérieur de mon dossier de ressources qui se trouve respectivement au /Webcontents/resources/ and webcontents/JS. En conséquence, j'ai besoin de faire une configuration dans mon servlet.xm l et d'inclure spring-webmvc dans ce fichier. Mon servlet.xml est présenté ci-dessous:Spring MVC 4 avec mvc: ressources ne fonctionnant pas

<?xml version="1.0" encoding="UTF-8"?> 
 
<beans xmlns="http://www.springframework.org/schema/beans" 
 
\t xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" 
 
\t xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 
\t xsi:schemaLocation=" 
 
     http://www.springframework.org/schema/beans 
 
     http://www.springframework.org/schema/beans/spring-beans-4.3.xsd 
 
     http://www.springframework.org/schema/mvc 
 
     http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd 
 
     http://www.springframework.org/schema/context 
 
     http://www.springframework.org/schema/context/spring-context-4.3.xsd"> 
 
    
 
\t <context:component-scan base-package="com.webrtc.controller" /> 
 

 
\t <bean id="viewResolver" 
 
\t \t class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
 
\t \t <property name="viewClass" 
 
\t \t \t value="org.springframework.web.servlet.view.JstlView" /> 
 
\t \t <property name="prefix" value="/WEB-INF/jsp/" /> 
 
\t \t <property name="suffix" value=".jsp" /> 
 
\t \t <mvc:resources mapping="/resources/**" location="/resources/" /> 
 
\t \t <mvc:resources mapping="/js/**" location="/js/" /> 
 
     <mvc:annotation-driven /> 
 
\t </bean> 
 
    
 
</beans>

Mon pom.xml est donnée ci-dessous:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>WebRTCProject</groupId> 
    <artifactId>WebRTCProject</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <properties> 
     <jdk.version>1.8</jdk.version> 
     <spring.version>4.3.7.RELEASE</spring.version> 
    </properties> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
     <plugin> 
     <artifactId>maven-compiler-plugin</artifactId> 
     <version>3.6.1</version> 
     <configuration> 
      <source>1.8</source> 
      <target>1.8</target> 
     </configuration> 
     </plugin> 
     <plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>3.0.0</version> 
     <configuration> 
      <warSourceDirectory>WebContent</warSourceDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    </build> 
    <dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-aop</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-web</artifactId> 
      <version>${spring.version}</version> 
     </dependency> 

     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
     </dependency> 
    </dependencies> 
    </dependencyManagement> 
</project> 

Une fois que je construis le projet en utilisant Maven et essayer de l'exécuter sur le serveur en utilisant Tomcat qui est ajouté sur IDE Eclipse, j'obtiens les erreurs suivantes:

SEVERE: Context initialization failed 
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 

Problème de configuration: Impossible de localiser BeanDefinitionDecorator pour l'élément [ressources] ressources Offending: ServletContext ressources [/WEB-INF/webrtc-servlet.xml] à org.springframework.beans.factory.parsing.FailFastProblemReporter.fatal (FailFastProblemReporter.java:60) à org.springframework.beans.factory.parsing.ReaderContext.fatal (ReaderContext.java:68) à org.springframework.beans.factory.parsing.ReaderContext.fatal (ReaderContext.java:55) à org.springframework.beans.factory.xml.NamespaceHandlerSupport.findDecoratorForNode (NamespaceHandlerSupport.java:121) à org.springframework.beans.factory.xml.NamespaceHandlerSupport.decorate (NamespaceHandlerSupport.j ava: 99) à org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateIfRequired (BeanDefinitionParserDelegate.java:1448) à org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired (BeanDefinitionParserDelegate.java:1435) à org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.decorateBeanDefinitionIfRequired (BeanDefinitionParserDelegate.java:1415) à org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition (DefaultBeanDefinitionDocumentReader.java:301) à org.springframework.beans. factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement (DefaultBeanDefinitionDocumentReader.java:190) at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBea nDefinitions (DefaultBeanDefinitionDocumentReader.java:169) à org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions (DefaultBeanDefinitionDocumentReader.java:142) à org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions (DefaultBeanDefinitionDocumentReader.java: 94) à org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions (XmlBeanDefinitionReader.java:508) à org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions (XmlBeanDefinitionReader.java:392) à org. springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:336) à org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefini tions (XmlBeanDefinitionReader.java:304) à org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java:181) à org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java: 217) à org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions (AbstractBeanDefinitionReader.java: 188) à org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions (XmlWebApplicationContext.java:125) à org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions (XmlWebApplicationContext.java:94) à org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory (AbstractRefreshableApplicationContext.java:129) à org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory (AbstractApplicationContext.java:613) à org.springframework.context.support.AbstractApplicationContext. refresh (AbstractApplicationContext.java:514) at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext (FrameworkServlet.java:668) at org .springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.java:634) à org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.java:682) à org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext (FrameworkServlet.java:553) à org.springframework.web.servlet.FrameworkServlet.initServletBean (FrameworkServlet.java:494) à org.springframework.web.servlet.HttpServletBean.init (HttpServletBean.java:138) à javax .servlet.GenericServlet.init (GenericServlet.java:158) à org.apache.catalina.core.StandardWrapper.initServlet (StandardWrapper.java:1183) à org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java : 1099) à org.apa che.catalina.core.StandardWrapper.load (StandardWrapper.java:989) à org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:4931) à org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5241) à org.apache.catalina.util.LifecycleBase.start (LifecycleBase.java:150) à org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1419) à org.apache.catalina.core.ContainerBase $ StartChild.call (ContainerBase.java:1409) à java.util.concurrent.FutureTask.run (FutureTask.java:266) à java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) à java.lang.Thread.run (Thread.java:748)

Mes autres confiurations sont comme ci-dessous:

de Windows 10

Eclipse IDE

Spring 4.3.7

JAVA SDK 1,8

Tomcat 8.5

J'ai essayé différentes solutions pour résoudre le problème comme les problèmes de version, en changeant le fichier servlet.xml etc. mais je n'ai pas pu résoudre le problème.

Quelqu'un sait comment puis-je résoudre ce problème?

Toute aide ou suggestion serait grandement appréciée! Dans le cas où vous avez besoin de plus de détails sur le projet, je serai en mesure de vous fournir plus de détails.

Répondre

1

Mon servlet.xml est illustré ci-dessous

La configuration /WEB-INF/webrtc-servlet.xml comporte des erreurs. Soit supprimer ce fichier ou y corriger les erreurs.

Et ces éléments devraient être en dehors de la définition de haricot

<mvc:resources mapping="/resources/**" location="/resources/" /> 
<mvc:resources mapping="/js/**" location="/js/" /> 
+0

Salut! Vous voulez dire que j'ai une erreur de syntaxe dans mon fichier que j'ai posté? Ou quelques erreurs de configuration? – ikramulhaq

+0

C'est une erreur de configuration de l'élément de ressource. –

+0

Le simple fait de changer la position de en le mettant en dehors de la définition a résolu le problème! Merci beaucoup – ikramulhaq