Spring MVC ControllerClassNameHandlerMapping, exemple

Exemple de Spring MVC ControllerClassNameHandlerMapping

Dans Spring MVC,ControllerClassNameHandlerMapping utilise la convention pour mapper l'URL demandée au contrôleur (convention sur la configuration). Il prend le nom de la classe, supprime le suffixe «Controller» s'il existe et renvoie le texte restant, en minuscules et avec un «/» en tête.

Voir les quelques exemples suivants pour illustrer l'utilisation de cette classeControllerClassNameHandlerMapping.

1. Avant et après

Par défaut, Spring MVC utilise le mappage de gestionnaireBeanNameUrlHandlerMapping.



  

  

Pour activer lesControllerClassNameHandlerMapping, déclarez-le dans le fichier de configuration du bean, et maintenantthe controller’s bean’s name is no longer required.



  

  

  

Maintenant, Spring MVC mappe l'URL demandée par les conventions suivantes:

WelcomeController -> /welcome*
HelloGuestController -> /helloguest*
  1. /welcome.htm -> WelcomeController.

  2. /welcomeHome.htm -> WelcomeController.

  3. /helloguest.htm -> HelloGuestController.

  4. /helloguest12345.htm -> HelloGuestController.

  5. /helloGuest.htm, n'a pas réussi à mapper/helloguest *, la casse «g» ne correspond pas.

2. Sensible aux majuscules et minuscules

Pour résoudre le problème de sensibilité à la casse mentionné ci-dessus, déclarez la propriété «caseSensitive» et définissez-la sur true.



  
       
  

  

  

Maintenant, Spring MVC mappe l'URL demandée par les conventions suivantes:

WelcomeController -> /welcome*
HelloGuestController -> /helloGuest*
  1. /helloGuest.htm -> HelloGuestController.

  2. /helloguest.htm, n'a pas réussi à mapper «/ helloGuest *», le cas «G» ne correspond pas.

3. pathPrefix

De plus, vous pouvez spécifier un préfixe pour mapper l'URL demandée, déclarée propriété «pathPrefix».



  
     
     
  

  

  

Maintenant, Spring MVC mappe l'URL demandée par les conventions suivantes:

WelcomeController -> /customer/welcome*
HelloGuestController -> /customer/helloGuest*
  1. /customer/welcome.htm –> WelcomeController.

  2. /customer/helloGuest.htm –> HelloGuestController.

  3. /welcome.htm, a échoué.

  4. /helloGuest.htm, a échoué.

Télécharger le code source