2011-10-31 4 views
1

J'essaie d'exécuter l'application sur Tomcat mais j'obtiens toujours cette erreur "La ressource demandée (/ testapp /) n'est pas disponible." - Qu'est-ce qui ne va pas? Je suppose que ma configuration XML est incorrecte mais je ne sais pas comment la réparer.Projet Spring dans Eclipse - 404

répartiteur-servlet.xml

<?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:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/mvc 
     http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

    <context:component-scan base-package="controller" /> 

    <mvc:view-controller path="/" view-name="HelloWorldPage" /> 

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/view/" /> 
     <property name="suffix" value=".jsp" /> 
    </bean> 

</beans> 

web.xml

<?xml version="1.0" encoding="utf-8"?> 

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 

    <display-name>Spring Web MVC Application</display-name> 

    <servlet> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>*.htm</url-pattern> 
    </servlet-mapping> 

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

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

</web-app> 

HelloWorldController.java - utilisant des annotations de printemps.

package 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 
@RequestMapping("/welcome") 
public class HelloWorldController { 

    @RequestMapping(method = RequestMethod.GET) 
    public ModelAndView helloWorld() { 

     ModelAndView model = new ModelAndView("HelloWorldPage"); 
     model.addObject("msg", "hello world"); 

     return model; 
    } 
} 
+0

Quelle est l'erreur/exception au moment du déploiement? –

+0

Statut HTTP 404 – Michael

+0

est la page d'erreur d'exécution que vous obtenez, mais je demande s'il y a une exception au moment du déploiement –

Répondre

0

Si vous ne recevez aucune exception sur la console d'éclipse, je pense que vous n'êtes probablement pas frapper le droit contextRoot de votre projet, la plupart du temps c'est le nom exact de votre demande, mais parfois il est différent ...

Si vous ne tapez pas le nom de l'application à tort, essayez ceci.

Cliquez sur le projet Cliquez avec le bouton droit de la souris sur Propriétés.

Ensuite, recherchez Contexte.

vous allez trouver une section intitulée contextRoot

Utilisez la chaîne dans cette boîte pour monter votre contextRoot comme celui-ci

localhost: 8080/stringFound/

et appuyez sur Entrée dans le navigateur.

+0

La racine du contexte est la même que le nom du projet. – Michael

2

dans votre web.xml vous associez printemps à * .htm mais votre contrôleur est mis en correspondance

@RequestMapping("/welcome") 

vous devriez mapper

@RequestMapping("/welcome.htm")