Eu gostaria de lidar com os atributos de solicitação e sessão sozinho, em vez de deixar para a primavera @SessionAttributes
, para login de manipulação de cookies, por exemplo.
Eu simplesmente não consigo descobrir como posso acessar o HttpRequest
de dentro de um controlador, preciso de uma maneira de ir uma camada acima do @RequestAttribute
e acessar o HttpRequest
próprio. Com o Stripes costumava-se fazer isso implementando um ApplicationContext
e chamando getAttribute()
.
Além disso, passar o HttpServletRequest
parâmetro as parece não estar funcionando:
@RequestMapping(value="/") public String home(HttpServletRequest request){
System.out.println(""+request.getSession().getCreationTime());
return "home";
}
O método acima não imprime nada.
Você tem algum conselho sobre isso?
@Context
anotação antes do argumento para que eles fossem injetados. Pode ser algo novo, não sei, mas pensei em mencioná-lo.Eu sei que é uma pergunta antiga, mas ...
Você também pode usar isso em sua aula:
E isso fornecerá a instância atual de
HttpServletRequest
para você usar em seu método.fonte
getThreadLocalRequest()
no GWT'sRemoteServiceServlet
que sempre retorna a solicitação correta mesmo que seja executado em um ambiente altamente concorrente.fonte