Je souhaite gérer moi-même les attributs de requête et de session plutôt que de le laisser au printemps @SessionAttributes
, pour la connexion de la gestion des cookies par exemple.
Je n'arrive pas à comprendre comment pourrais-je accéder au HttpRequest
depuis un contrôleur, j'ai besoin d'un moyen de passer une couche au-dessus de @RequestAttribute
et d'accéder à HttpRequest
lui - même. Avec Stripes utilisé pour le faire en implémentant un ApplicationContext
et en appelant getAttribute()
.
De plus, la transmission du HttpServletRequest
paramètre as semble ne pas fonctionner:
@RequestMapping(value="/") public String home(HttpServletRequest request){
System.out.println(""+request.getSession().getCreationTime());
return "home";
}
La méthode ci-dessus n'imprime rien.
Avez-vous des conseils à ce sujet?
@Context
annotation avant l'argument afin de les faire injecter. Ça pourrait être quelque chose de nouveau, je ne sais pas, mais j'ai pensé que je le mentionnerais.Je sais que c'est une vieille question, mais ...
Vous pouvez également utiliser ceci dans votre classe:
Et cela fournira l'instance actuelle de
HttpServletRequest
pour que vous utilisiez sur votre méthode.la source
getThreadLocalRequest()
dans GWTRemoteServiceServlet
qui renvoie toujours une requête correcte même si elle est exécutée dans un environnement hautement concurrentiel.la source