IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

Projet Web ne fonctionne pas (erreur 404) [@MVC]


Sujet :

Spring Web Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut Projet Web ne fonctionne pas (erreur 404)
    Bonsoir tout le monde,

    Je viens vers vous pour avoir un coup de main. J'ai décider de commencer une nouvelle application web qui me servira pour tout un tas de chose. Donc je configure Spring et tout, tout me semble correcte et là... Ben ça coince, je me tape une erreur 404 et impossible de savoir d'où elle vient !! Je me prend les cheveux avec ça depuis 3 soirées maintenant et impossible de trouver le problème alors que c'est un bête Hello World...

    Si quelqu'un peut éclairer ma lanterne ça serait sympa parce que là, je vois pas du tout et un amis non plus... A noter aussi que Eclipse me signale une erreur dans mes ressources Java via le petit icône de la croix, mais cet icône n'apparait sur aucuns fichiers, j'y comprend rien non plus et le problème vient sans doute de là.

    Screenshot de ma hiérarchie :
    Nom : Sans titre.png
Affichages : 363
Taille : 14,5 Ko

    Mon pom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <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>ManagerFormulaOneTycoon</groupId>
    	<artifactId>ManagerFormulaOneTycoon</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<packaging>jar</packaging>
     
    	<name>ManagerFormulaOneTycoon</name>
    	<url>http://maven.apache.org</url>
     
    	<properties>
    		<spring.version>3.2.4.RELEASE</spring.version>
    	</properties>
     
    	<dependencies>
    		<!-- Spring 3 -->
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-core</artifactId>
    			<version>${spring.version}</version>
    		</dependency>
     
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-webmvc</artifactId>
    			<version>${spring.version}</version>
    		</dependency>
     
    		<!-- JSTL -->
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>jstl</artifactId>
    			<version>1.1.2</version>
    		</dependency>
     
    		<dependency>
    			<groupId>taglibs</groupId>
    			<artifactId>standard</artifactId>
    			<version>1.1.2</version>
    		</dependency>
     
    		<!-- for compile only, your container should have this -->
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>servlet-api</artifactId>
    			<version>2.5</version>
    			<scope>provided</scope>
    		</dependency>
     
    		<dependency>
    			<groupId>org.hibernate</groupId>
    			<artifactId>hibernate-core</artifactId>
    			<version>4.3.1.Final</version>
    		</dependency>
     
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>3.8.1</version>
    			<scope>test</scope>
    		</dependency>
    	</dependencies>
    </project>
    Mon web :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    		xmlns="http://java.sun.com/xml/ns/javaee" 
    		xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_0.xsd" 
    		xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    		http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="ManagerFormulaOneTycoon" version="3.0">
     
      <display-name>Formula One Tycoon - Manager</display-name>
      <listener>
           <listener-class>
              org.springframework.web.context.ContextLoaderListener
           </listener-class>
      </listener>
     
      <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
    			org.springframework.web.servlet.DispatcherServlet
    		</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
     
      <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.html</url-pattern>
      </servlet-mapping>
     
      <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
      </context-param>
    </web-app>
    Mon dispatcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans 
    	http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
    	http://www.springframework.org/schema/context
    	http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
     
        <context:component-scan base-package="fot.manager.controller" />
     
        <mvc:annotation-driven />
     
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
            <property name="prefix">
                <value>/WEB-INF/pages/</value>
            </property>
            <property name="suffix">
                <value>.jsp</value>
            </property>
        </bean>
     
    </beans>
    Mon controlleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    package fot.manager.controller;
     
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;
     
    @Controller
    public class IndexController {
     
    	@RequestMapping(value="index", method=RequestMethod.GET)
    	public ModelAndView index(){
    		ModelAndView index = new ModelAndView("index");
    		index.addObject("message", " Hello Yves !");
     
    		return index;
    	}
    }
    Et la stacktrace laisser dans la console d'Eclipse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Grave: Context initialization failed
    java.lang.NoClassDefFoundError: org/springframework/web/method/support/CompositeUriComponentsContributor
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    	at java.lang.Class.getDeclaredMethods(Unknown Source)
    	at org.springframework.core.type.StandardAnnotationMetadata.hasAnnotatedMethods(StandardAnnotationMetadata.java:129)
    	at org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationCandidate(ConfigurationClassUtils.java:131)
    	at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:90)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:274)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
    	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    	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)
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.method.support.CompositeUriComponentsContributor
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    	... 24 more
     
    févr. 26, 2014 6:07:13 PM org.apache.catalina.core.StandardContext listenerStart
    Grave: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener
    java.lang.NoClassDefFoundError: org/springframework/web/method/support/CompositeUriComponentsContributor
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    	at java.lang.Class.getDeclaredMethods(Unknown Source)
    	at org.springframework.core.type.StandardAnnotationMetadata.hasAnnotatedMethods(StandardAnnotationMetadata.java:129)
    	at org.springframework.context.annotation.ConfigurationClassUtils.isLiteConfigurationCandidate(ConfigurationClassUtils.java:131)
    	at org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate(ConfigurationClassUtils.java:90)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:274)
    	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
    	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
    	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
    	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
    	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
    	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
    	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    	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)
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.method.support.CompositeUriComponentsContributor
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    	... 24 more
     
    févr. 26, 2014 6:07:13 PM org.apache.catalina.core.StandardContext startInternal
    Grave: Error listenerStart
    févr. 26, 2014 6:07:13 PM org.apache.catalina.core.StandardContext startInternal
    Grave: Erreur de démarrage du contexte [/ManagerFormulaOneTycoon] suite aux erreurs précédentes
    févr. 26, 2014 6:07:13 PM org.apache.catalina.core.ApplicationContext log
    Infos: Closing Spring root WebApplicationContext
    févr. 26, 2014 6:07:13 PM org.springframework.web.context.support.XmlWebApplicationContext doClose
    Infos: Closing Root WebApplicationContext: startup date [Wed Feb 26 18:07:13 CET 2014]; root of context hierarchy
    févr. 26, 2014 6:07:13 PM org.springframework.web.context.support.XmlWebApplicationContext doClose
    Avertissement: Exception thrown from ApplicationListener handling ContextClosedEvent
    java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Wed Feb 26 18:07:13 CET 2014]; root of context hierarchy
    	at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:346)
    	at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:333)
    	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:880)
    	at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841)
    	at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:559)
    	at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)
    	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
    	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
    	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    	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)
     
    févr. 26, 2014 6:07:13 PM org.springframework.web.context.support.XmlWebApplicationContext doClose
    Avertissement: Exception thrown from LifecycleProcessor on context close
    java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Wed Feb 26 18:07:13 CET 2014]; root of context hierarchy
    	at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:359)
    	at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:888)
    	at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:841)
    	at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:559)
    	at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)
    	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)
    	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)
    	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    	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)
     
    févr. 26, 2014 6:07:13 PM org.apache.coyote.AbstractProtocol start
    Infos: Starting ProtocolHandler ["http-bio-8080"]
    févr. 26, 2014 6:07:13 PM org.apache.coyote.AbstractProtocol start
    Infos: Starting ProtocolHandler ["ajp-bio-8009"]
    févr. 26, 2014 6:07:13 PM org.apache.catalina.startup.Catalina start
    Infos: Server startup in 2377 ms
    A chaque fois Tomcat me sort une erreur 404... Le PIRE c'est que mon hello world à fonctionner parfaitement une première fois, j'ai redémarrer le PC pour terminer une installation et depuis ça ne fonctionne plus, je sais pas pourquoi...

    Merci d'avance !

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Points : 15
    Points
    15
    Par défaut
    il semble qu'il manque cette classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NoClassDefFoundError: org/springframework/web/method/support/CompositeUriComponentsContributor

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut
    Et comment je peux l'ajoutée ou voir si elle existe bel et bien ou non ? J'ai jamais eu ce problème jusqu'à présent et je suis encore relativement nouveau dans Spring (j'ai commencer il y a un peu moins de 3 mois), du coup je suis un peu perdu là ^^'

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut
    Problème enfin résolu. Tout était bien correct dans ma configuration comme je le pensais.

    J'ai juste du spécifier au projet qu'il devait utiliser les dépendances Maven :

    Propriétés du projet -> Deployment Assembly, cliquer sur Add... , choisir Java Build Path Entries et ajouter les Dépendances Maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 27/04/2009, 18h11
  2. Réponses: 0
    Dernier message: 09/04/2008, 16h17
  3. Mon projet web ne voit pas mon projet standard
    Par willix71 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 12/12/2007, 16h24
  4. [EJB3] Injection @EJB dans le Client Web ne fonctionne pas
    Par warwink dans le forum Java EE
    Réponses: 9
    Dernier message: 04/12/2007, 00h28
  5. Serveur Web ne fonctionne pas en dehors du batiment
    Par Meunier dans le forum Apache
    Réponses: 4
    Dernier message: 23/04/2007, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo