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 :

Apache Tiles : erreur 404 La ressource demandée n''est pas disponible. [MVC]


Sujet :

Spring Web Java

  1. #1
    Membre habitué Avatar de JQueen
    Inscrit en
    Octobre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2008
    Messages : 214
    Points : 126
    Points
    126
    Par défaut Apache Tiles : erreur 404 La ressource demandée n''est pas disponible.
    Bonjour tout le monde,

    je travaille sur un exemple spring MVC + apache tiles (je suis ce tuto : http://viralpatel.net/blogs/spring-3...ample-eclipse/).
    voilà le code de mon controleur :
    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
     
    @Controller
    @RequestMapping("/contact")
    @SessionAttributes
    public class ContactController {
     
    	//methode permettant d'ajouter un nouveau contact
    	@RequestMapping(value="/addContacts", method=RequestMethod.POST)
    	public String addContact(@ModelAttribute("contact") Contact contact, Model model, BindingResult result){
    		String message = "First Name: " + contact.getFirstName() + 
                    ",   Last Name: " + contact.getLastName();
    		model.addAttribute("message", message);
        	return "home";
    	}
     
     
    	//methode permettant d'afficher le formulaire d'ajout de contact
    	@RequestMapping("/show")
    	public ModelAndView showContacts(){
    		ModelAndView model = new ModelAndView("contacts", "command", new Contact());
    		return model;
    	}
     
    }
    voilà le code de tiles_defs.xml :
    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"?>
    <!DOCTYPE tiles-definitions PUBLIC
           "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
           "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
     
    <tiles-definitions>
        <definition name="baseDefinition" template="/WEB-INF/views/layout.jsp">
            <put-attribute name="title" value="" />
            <put-attribute name="header" value="/WEB-INF/views/header.jsp" />
            <put-attribute name="menu" value="/WEB-INF/views/menu.jsp" />
            <put-attribute name="body" value="" />
            <put-attribute name="footer" value="/WEB-INF/views/footer.jsp" />
        </definition>
     
        <definition name="contact" extends="baseDefinition">
            <put-attribute name="title" value="Contact Manager" />
            <put-attribute name="body" value="/WEB-INF/views/contacts.jsp" />
        </definition>
     
        <definition name="welcome" extends="baseDefinition">
            <put-attribute name="title" value="Welcome" />
            <put-attribute name="body" value="/WEB-INF/views/home.jsp" />
        </definition>
     
    </tiles-definitions>
    voilà le code de fichier de configuration :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans:beans xmlns="http://www.springframework.org/schema/mvc"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
     
    	<!-- DispatcherServlet Context: defines this servlet's request-processing 
    		infrastructure -->
     
    	<!-- Enables the Spring MVC @Controller programming model -->
    	<annotation-driven />
     
    	<!-- Handles HTTP GET requests for /resources/** by efficiently serving 
    		up static resources in the ${webappRoot}/resources directory -->
    	<resources mapping="/resources/**" location="/resources/" />
     
    	<!-- integrates tiles in web applications using spring -->
    	<beans:bean name="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
      		<beans:property name="viewClass">
      			<beans:value>
                	org.springframework.web.servlet.view.tiles2.TilesView
            	</beans:value>
      		</beans:property>
    	</beans:bean>
     
    	<beans:bean name="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
      		<beans:property name="definitions">
        		<beans:list>
          			<beans:value>/WEB-INF/tiles_defs.xml</beans:value>
        		</beans:list>
      		</beans:property>
    	</beans:bean>
     
    	<!-- Resolves views selected for rendering by @Controllers to .jsp resources 
    		in the /WEB-INF/views directory -->
    	 <!-- <beans:bean
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<beans:property name="prefix" value="/WEB-INF/views/" />
    		<beans:property name="suffix" value=".jsp" />
    	</beans:bean> --> 
     
    	<context:component-scan base-package="com.example.*" />
     
     
     
    </beans:beans>
    En essayant de lancer mon exemple (en tapant l'url http://localhost:8080/controllers/contact/show), j'ai l'erreur 404 : La ressource demandée n''est pas disponible.


    je ne vois pas pourquoi ?!!!

    Merci pour votre aide.

  2. #2
    Membre habitué Avatar de JQueen
    Inscrit en
    Octobre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2008
    Messages : 214
    Points : 126
    Points
    126
    Par défaut
    Re-bonjour,

    en relançant le serveur, j'ai l'erreur suivante :
    Could not resolve view with name 'contacts' in servlet with name 'appServlet'

    Comme indiqué dans le fichier de configuration, j'utilise le UrlBasedViewResolver pour resoudre les vues.

    Des idées ?

  3. #3
    Membre habitué Avatar de JQueen
    Inscrit en
    Octobre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2008
    Messages : 214
    Points : 126
    Points
    126
    Par défaut
    Bonjour,

    Je viens de résoudre mon problème.

    En fait, le nom de la vue retourné par la méthode du contrôleur ne correspond pas à celui défini dans le fichier de définitions de Tiles.

    Pas de correspondance entre ces deux codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    return "home";
     
    et 
     
    ModelAndView model = new ModelAndView("contacts", "command", new Contact());
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <definition name="welcome" extends="baseDefinition">
     
    et 
     
    <definition name="contact" extends="baseDefinition">
    la correction est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    return "welcome";
     
    et 
     
    ModelAndView model = new ModelAndView("contact", "command", new Contact());
    J'espère que ça aide des gens débutants comme moi.

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

Discussions similaires

  1. Etat HTTP 404: La ressource demandée n''est pas disponible
    Par Marc_27 dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 28/04/2013, 23h26
  2. Erreur 404 la ressource demandée n'est pass disponible
    Par amadoulamine1 dans le forum Spring
    Réponses: 1
    Dernier message: 12/04/2013, 13h47
  3. Etat http 404:la ressource demandé n'est pas disponible
    Par amine_smi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 04/04/2009, 20h07
  4. Erreur 404 - La ressource demandée (/**/) n'est pas disponible.
    Par Rom1984 dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 20/03/2008, 16h06
  5. erreur 404 -- la ressource demandée n'est pas dispo
    Par dev7 dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 11/03/2007, 02h06

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