Servlet cartographie avec le printemps
Dans mon web.xml j'ai le mappage suivant
<servlet-mapping>
<servlet-name>mySite</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mySite</servlet-name>
<url-pattern>/articles/*</url-pattern>
</servlet-mapping>
Actuellement, il gère les url avec une extension de fichier de .html amende. Cependant, je veux être en mesure de gérer les url du type http://localhost:8080/MySite-Web/articles/testMe ie tout chemin sans une extension de fichier préfixé par les articles.
Le printemps de la cartographie, j'ai essayé.
@RequestMapping(value = "/articles/*")
public ModelAndView getArticles(HttpServletResponse response, HttpServletRequest request
) throws java.lang.Exception {
System.out.println("Handle any path prefixed with /articles/");
return null;
}
dans ma configuration Spring, je suis en utilisant le suivant
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
edit:
Voici le Répartiteur Servlet cartographie
<servlet>
<description>
servlet</description>
<servlet-name>MySite</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:MySite-web-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
voici l'MySite-web.context.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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/lang
http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-2.0.1.xsd">
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="beanNameViewResolver" class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
<context:component-scan base-package="com.mysite" scoped-proxy="interfaces" />
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize">
<value>-1</value> <!-- 10MB limit -->
</property>
</bean>
</beans>
Elle ressemble à toutes les informations de chemin est dépouillé par le temps qu'il frappe RequestMapping si j'ai la carte pour juste /test
@RequestMapping(value = "/test")
il fonctionne bien et si
J'Système..println ("demande.getPathInfo()); je viens d'obtenir /test sans /articles ???
Acclamations à l'avance.
Quel est votre DispatcherServlet de configuration?
puisque vous n'avez pas l'ensemble de la commande je ne peux pas' dire, mais assurez-vous que vous n'avez pas spécifié un RequestMapping sur le contrôleur de classe.
assurez-vous que vous avez spécifié contexte-volet analyse de la propriété.
Merci pour les réponses rapides. Je n'ai pas un extra RequestMapping sur le contrôleur de classe. J'ai aussi essayé @RequestMapping(valeur = "/articles"), vous trouverez plus de données de configuration disponibles dans la question principale.
OriginalL'auteur jaseFace | 2012-10-10
Vous devez vous connecter pour publier un commentaire.
Ajouter à votre
MySite-web.context.xml
:N'oubliez pas d'ajouter le bon
mvc
espace de noms de lignes sur le dessus:Et les Url dans
xsi:schemaLocation
.Il doit maintenant prendre en considération le chemin d'accès complet pour la résolution des mappages.
Vérifier la Le Printemps De La Documentation pour plus d'info.
La solution ne doit pas être loin de cela. Regardez dans le
AnnotationMethodHandlerAdapter#setAlwaysUseFullPath()
. Désolé, je suis occupé en ce moment, si vous ne trouvez pas une solution, je vais la tester au plus tard dans la journée avec Spring 2.5.spot sur. Merci
Sauvé ma bonne heures! Je vous remercie.
OriginalL'auteur betomontejo