Comment puis-je carte contrôleur Spring MVC pour un uri avec et sans barre oblique?

J'ai un Printemps Contrôleur avec plusieurs RequestMappings pour différents Uri. Ma servlet est "l'interface utilisateur". Le servlet de l'URI de base ne fonctionne qu'avec une barre oblique. Je voudrais que mes utilisateurs de ne pas avoir à entrer le slash.

Cette URI travaux:

http://localhost/myapp/ui/

Celle-ci n':

http://localhost/myapp/ui

Il me donne un code d'État HTTP 404.

La servlet et de la cartographie de mon web.xml sont:

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

<servlet-mapping>
    <servlet-name>ui</servlet-name>
    <url-pattern>/ui/*</url-pattern>
</servlet-mapping>    

Mon Contrôleur:

@Controller
public class UiRootController {

    @RequestMapping(value={"","/"})
    public ModelAndView mainPage() { 
        DataModel model = initModel();
        model.setView("intro");     
        return new ModelAndView("main", "model", model);
    }

    @RequestMapping(value={"/other"})
    public ModelAndView otherPage() { 
        DataModel model = initModel();
        model.setView("otherPage");     
        return new ModelAndView("other", "model", model);
    }

}
Changer votre modèle d'url de votre site web xml à partir d' /ui/* /ui
Je devrais avoir inclus les autres RequestMappings. (Voir edit) Modifiant le schéma d' /ui/* /ui brise toutes les mappages et je reçois 404 pour les Uri /ui /ui/ et /ui/autres
Ce contexte est la webapp déployé dans Tomcat? Votre demande est appelé ROOT.war ou <another_name>.war ou l'application n'existe pas dans un sous-répertoire webapps?
il est déployé dans un autre contexte. Dans mon exemple, j'utilise "myapp". Suis-je tort de penser que cela devrait fonctionner?
Non, il devrait certainement fonctionner comme prévu. La version de Printemps utilisez-vous? Aussi, comment êtes-vous de la configuration de Printemps, quelque chose comme <context:component-scan base-package="..."/>?

OriginalL'auteur km1 | 2012-08-20

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *