Chciałbym samodzielnie obsługiwać atrybuty żądań i sesji, a nie pozostawić to na wiosnę @SessionAttributes
, na przykład do logowania do obsługi plików cookie.
Po prostu nie mogę dowiedzieć się, w jaki sposób mogę uzyskać dostęp do HttpRequest
kontrolera, potrzebuję sposobu, aby przejść do warstwy powyżej @RequestAttribute
i uzyskać dostęp do HttpRequest
siebie. Używając Stripes, robimy to przez implementację ApplicationContext
i wywołanie getAttribute()
.
HttpServletRequest
Wydaje się , że przekazywanie parametru as nie działa:
@RequestMapping(value="/") public String home(HttpServletRequest request){
System.out.println(""+request.getSession().getCreationTime());
return "home";
}
Powyższa metoda niczego nie drukuje.
Czy masz jakieś rady w tej sprawie?
@Context
adnotację przed argumentem, aby je wstrzyknąć. To może być coś nowego, nie wiem, ale pomyślałem, że o tym wspomnę.Wiem, że to stare pytanie, ale ...
Możesz również użyć tego w swojej klasie:
Zapewni to bieżącą instancję
HttpServletRequest
używaną w Twojej metodzie.źródło
getThreadLocalRequest()
w GWT,RemoteServiceServlet
które zawsze zwraca poprawne żądanie, nawet jeśli jest wykonywane w wysoce współbieżnym środowisku.źródło