2011-05-11 5 views
0

Voici le code de ma classe de contrôleur:SPRING 3 MVC - Erreur de modèle URI?

package edu.byu.cio.test.web.Controller; 

import org.springframework.stereotype.Controller; 

import org.springframework.web.bind.annotation.RequestMapping; 

import org.springframework.web.bind.annotation.PathVariable; 

import org.springframework.web.bind.annotation.RequestMethod; 

import org.springframework.web.bind.annotation.RequestParam; 


/** 
* Handles requests for the application home page. 
*/ 


@Controller 
public class HomeController { 

@RequestMapping(value = "/") 

public String helloWorld() { 

System.out.println("HomeController: Passing through..."); 

return "WEB-INF/views/home.jsp"; 
} 


@RequestMapping(value="/name/{Name}", method = RequestMethod.GET) 

public String compare(@PathVariable("Name") String Name) { 

return "WEB-INF/views/home.jsp"; 

} 


} 

Je suis intéressé à appeler la deuxième méthode.

Quand je fais la demande get comme:

http://localhost:8081/mvc-basic/name/somename 

Remarque: Je l'ai configuré pour écouter sur le port 8081.

Je reçois l'erreur suivante:

HTTP Status 404 - /mvc-basic/name/WEB-INF/views/home.jsp 

-------------------------------------------------------------------------------- 

type Status report 

message /mvc-basic/name/WEB-INF/views/home.jsp 

description The requested resource (/mvc-basic/name/WEB-INF/views/home.jsp) is not available. 


-------------------------------------------------------------------------------- 

Apache Tomcat/6.0.26 

Je pense que le modèle d'URI est juste mais je me demande pourquoi montre-t-il cette erreur. Trouvez-vous des erreurs dans le code ci-dessus? J'apprécie ton aide.

+2

formatez le code, donnez-nous votre configuration dispatcher-servlet et supprimez les multiples points d'interrogation. – Bozho

Répondre

1

J'ai été confronté à ce problème lors de ma première utilisation de la suite d'outils Spring Source. Après tant de lutte j'ai compris que c'était un problème avec la classe de contrôleur n'est pas le dernier.

Lorsque j'ai écrit un morceau de code similaire pour la première fois, je n'ai pas utilisé la variable de modèle URI et l'ai déployée sur le serveur tc. plus tard j'ai ajouté le modèle d'URI et re publié/relancé le serveur plusieurs fois en pensant que la classe de contrôleur aurait été construite automatiquement. Plus tard, j'ai trouvé que je cours le projet avec 'Build Automatically' décoché dans le menu 'projet'. S'il vous plaît assurez-vous de cocher «Construire automatiquement» si vous utilisez STS ou tout autre outil basé sur Eclipse et assurez-vous de déployer la dernière classe de contrôleur.

0

Vous devez publier votre fichier beansResolver view à partir de votre fichier de contexte * -servlet.xml pour être sûr, mais il est probable que votre résolveur d'affichage ait un suffixe ".jsp" défini, ce qui signifie que vous n'avez pas besoin de le spécifier. Le répertoire racine de vos pages JSP sera également défini par défaut sur/WEB-INF. Au lieu de renvoyer "WEB-INF/views/home.jsp" dans votre contrôleur, essayez de retourner "views/home" au lieu de renvoyer "WEB-INF/views/home.jsp".