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 Java Discussion :

Qestion simple sur le mapping des URL avec Spring


Sujet :

Spring Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut Qestion simple sur le mapping des URL avec Spring
    Bonjour,

    je développe sous spring 4. Je n'arrive pas à mapper mes url aux controller

    Voici un extrait de mon fichier web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	<!-- Spring MVC -->
    	<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>/*</url-pattern>
    	</servlet-mapping>
    Voici un extrait de mon fichier spring 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
     
    	<bean id="viewResolver"
    	  class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    	  <property name="viewClass"
    			value="org.springframework.web.servlet.view.JstlView" />
    	  <property name="prefix">
    		<value>/WEB-INF/pages/</value>
    	  </property>
    	  <property name="suffix">
    		<value>.jsp</value>
    	  </property>
    	</bean>
     
    <context:component-scan base-package="orm,orm.impl,web.controller.impl,web.view" />
    Voici un extrait de mon controller
    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
     
    package web.controller.impl;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;
     
    import service.CommonManagementService;
    import web.view.QuestionItem;
    import domain.Question;
     
    @Controller
    public class ComboController  {
     
     
     
    	private static final Logger LOGGER = LogManager.getLogger();
     
    	@Autowired
    	@Qualifier("commonManagementService")
    	private CommonManagementService commonManagementService;
     
    	public CommonManagementService getCommonManagementService() {
    		return this.commonManagementService;
    	}
     
    	@RequestMapping(value = "/unsecure/getQuestion", method = RequestMethod.GET)
    	public ModelAndView getQuestion(ModelMap model) {
    		LOGGER.info("debut methode getQuestion");
    		final List<QuestionItem> results = new ArrayList<QuestionItem>();
    		final List<Question> questions = this.commonManagementService.getQuestions();
    		for (final Question question : questions) {
    			results.add(new QuestionItem(question.getQuestion(), question.getId().toString()));
    		}
    		final Map<String, Object> modelToPass = new HashMap<String, Object>();
    		model.put("items", results);
    		LOGGER.info("fin methode getQuestion");
    		return new ModelAndView("jsonResultView", model);
     
    	}
     
    	public void setCommonManagementService(
    			CommonManagementService commonManagementService) {
    		this.commonManagementService = commonManagementService;
    	}
    }
    Le nom de mon application est tennisArc1600 et quand j'essaye via mon browser d'envoyer l'url http://localhost:8080/tennisArc1600/...re/getQuestion ou http://localhost:8080/unsecure/getQuestion
    j'obtiens une erreur 404 la ressource demandée n'est pas disponible

    Merci d'avance pour vos suggestions

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 728
    Points : 250
    Points
    250
    Par défaut
    Re-bonjour,
    je suis arrivé à mapper mon url sur mon controller.

    Voici ma configuration
    web.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
     
    	<!-- Spring MVC -->
    	<servlet>
    		<servlet-name>mvc-dispatcher</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
            </init-param>		
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>mvc-dispatcher</servlet-name>
    		<url-pattern>/</url-pattern>
    	</servlet-mapping>
    mvc-dispatcher-servlet.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
    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
     
    <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-4.1.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.1.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
     
    	<!-- <context:component-scan base-package="domain,orm,orm.impl" /> -->
     
    	<bean
    		class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
    		<property name="locations">
    			<list>
    				<value>classpath:messages.properties</value>
    				<value>classpath:persistence.properties</value>
    				<value>classpath:securities.properties</value>
    				<value>classpath:mail.properties</value>
    				<value>classpath:views.properties</value>
    			</list>
    		</property>
    		<property name="ignoreUnresolvablePlaceholders" value="true" />
    	</bean>
     
    	<bean id="viewResolver"
    		class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    		<property name="viewClass"
    			value="org.springframework.web.servlet.view.JstlView" />
    		<property name="prefix">
    			<value>/WEB-INF/pages/</value>
    		</property>
    		<property name="suffix">
    			<value>.jsp</value>
    		</property>
    	</bean>
     
    	<bean id="abstractViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
            <property name="basename" value="views"/>
            <property name="order" value="0"/>
        </bean>
     
    	<mvc:resources mapping="/resources/**"
    		location="/, classpath:/WEB-INF/public-resources/" cache-period="10000" />
     
    	<mvc:annotation-driven />
     
    	<context:component-scan base-package="orm,orm.impl,web.controller.impl,web.view" />
     
    </beans>
    mon controller
    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
     
    package web.controller.impl;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
     
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Qualifier;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;
     
    import service.CommonManagementService;
    import utils.Result;
    import web.view.QuestionItem;
    import domain.Question;
     
    @Controller
    public class ComboController  {
     
     
     
    	private static final Logger LOGGER = LogManager.getLogger();
     
    	@Autowired
    	@Qualifier("commonManagementService")
    	private CommonManagementService commonManagementService;
     
    	public CommonManagementService getCommonManagementService() {
    		return this.commonManagementService;
    	}
     
    	@RequestMapping(value = "/unsecure/getQuestion.htm", method = RequestMethod.GET)
    	public ModelAndView getQuestion(ModelMap model) {
    		LOGGER.info("debut methode getQuestion");
    		final List<QuestionItem> results = new ArrayList<QuestionItem>();
    		final List<Question> questions = this.commonManagementService.getQuestions();
    		for (final Question question : questions) {
    			results.add(new QuestionItem(question.getQuestion(), question.getId().toString()));
    		}
    		final Map<String, Object> modelToPass = new HashMap<String, Object>();
    		model.put("items", results);
    		model.put("results", new ArrayList<Result>());
    		LOGGER.info("fin methode getQuestion");
    		return new ModelAndView("jsonResultView", model);
     
    	}
     
    	public void setCommonManagementService(
    			CommonManagementService commonManagementService) {
    		this.commonManagementService = commonManagementService;
    	}
    }

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

Discussions similaires

  1. Forcer l'affichage de l'heure sur l'axe des abscisses avec ZedGraph
    Par megamario dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 05/09/2011, 09h53
  2. [Integration] Mapping des rôles avec memberURL
    Par samalairbien dans le forum Spring
    Réponses: 0
    Dernier message: 21/05/2010, 17h34
  3. récupérer des URL avec Regexp
    Par manu00 dans le forum Langage
    Réponses: 3
    Dernier message: 28/07/2007, 18h39
  4. [EasyPHP] impossible de faire des URLS avec variable
    Par SandraG dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/03/2006, 17h38
  5. Question simple sur la libération des objets
    Par gibet_b dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2004, 10h01

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