Ho un bean spring singleton che viene richiamato in risposta a un'azione client. Desidero acquisire alcune informazioni sul client (in particolare l'indirizzo IP). Presumo che la migliore fonte di queste informazioni sia l'oggetto della richiesta. Come ottengo l'accesso all'oggetto richiesta dall'interno del mio bean?Come accedere a una ServletRequest dall'interno di un bean spring singleton?
Perdonami se questa è una domanda ovvia, sono molto nuovo per la primavera.
Ho provato una cosa senza successo .:
((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes())
.getRequest().getRemoteAddr();
Ma che non è riuscito con un'IllegalStateException fuori currentRequestAttributes
. Il testo fa eccezione suggerisce di utilizzare un RequestContextListener
o RequestContextFilter
ho trovato un reference per come configurare il RequestContextListener
, ma io ancora non so di cambiare il mio fagioli in modo da poter accedere alle informazioni richiesta.
Perfetto, questo ha funzionato! Ho appena avuto il nome di RequestContextListener nel web.xml. Cosa fa la richiesta Destroyed (ServletRequestEvent) .attributes? – wolfcastle
Corretto, questa non è un'app MVC di primavera. Scusa, non l'ho visto la prima volta che ho letto la tua risposta. – wolfcastle