Me gustaría manejar la solicitud y los atributos de sesión yo mismo en lugar de dejarlo en primavera @SessionAttributes
, por ejemplo, para iniciar sesión en el manejo de cookies.
Simplemente no puedo entender cómo podría acceder HttpRequest
desde dentro de un controlador, necesito una forma de ir a una capa por encima @RequestAttribute
y acceder al HttpRequest
mismo. Con Stripes se usa para hacer esto implementando un ApplicationContext
y llamando getAttribute()
.
Además, pasar el HttpServletRequest
parámetro as parece no funcionar:
@RequestMapping(value="/") public String home(HttpServletRequest request){
System.out.println(""+request.getSession().getCreationTime());
return "home";
}
El método anterior no imprime nada.
¿Tiene algún consejo sobre esto?
@Context
anotación antes del argumento para inyectarlos. Podría ser algo nuevo, no lo sé, pero pensé en mencionarlo.Sé que es una vieja pregunta, pero ...
También puedes usar esto en tu clase:
Y esto proporcionará la instancia actual de
HttpServletRequest
para que use en su método.fuente
getThreadLocalRequest()
en GWTRemoteServiceServlet
que siempre devuelva la solicitud correcta incluso si se ejecuta en un entorno altamente concurrente.fuente