2011-08-27 4 views
0

J'essaye de vérifier si les utilisateurs ont un cookie stocké dans leur navigateur. Si c'est le cas et que la session n'est pas définie, appelez un service pour les connecter et définir la session. La portée de la cartographie doit donc être globale car les utilisateurs peuvent mettre en signet n'importe quelle page et y revenir plus tard.Spring MVC 3 Global Request Mapping

Je pensais faire un contrôleur global comme si

@RequestMapping("/*", method=REQUESTMETHOD.GET) 
function(){login and set session if true} 

le/* ne semble pas ..Unfortunately travailler avec Spring MVC 3.

Bien sûr, je peux toujours faire les éléments suivants

--Inside mon header.jsp (ce fichier sera inclus sur toutes les pages)

<jsp:useBean id="link" class = "Test.CLASSNAME" /> 
<%=link.getMETHOD() %> 

Cependant, cette solution ne semble pas trop élégante.

Alors, mes questions sont

Est-il de toute façon de faire @RequestMapping avec une portée mondiale?

Existe-t-il un meilleur moyen de gérer ma situation avec Spring MVC 3?

Merci :)

Répondre

6

On dirait que vous avez besoin d'un intercepteur, pas un contrôleur. Ils "découpent" les mappages de vos contrôleurs, ce qui vous permet d'appliquer une logique à toutes vos demandes.

Voir les docs de Spring here et here pour savoir comment écrire ces fils.

+1

Merci beaucoup :) J'ai été tripoter avec RequestMapping et wildcard toute la journée sans succès parce que j'étais trop paresseux pour déranger avec Interceptor. Fonctionne comme un charme maintenant avec l'utilisation de l'intercepteur! – Infinity