2015-02-02 11 views

risposta

8

Secondo questa JIRA biglietto, sulla base di questo discussion, hanno aggiunto il supporto per l'iniezione del HttpServletRequest nel vostro filtro, un frammento di codice da quanto sopra JIRA assomiglia a questo:

public class MyRequestFilter implements ContainerRequestFilter { 

    @Context 
    private HttpServletRequest servletRequest; 

È possibile quindi utilizzare il HttpServletRequest API per ottenere l'IP remoto, vedere la piena Javadoc here, estratto:

getRemoteAddr

java.lang.String getRemoteAddr()

Restituisce l'indirizzo IP (Internet Protocol) del client o dell'ultimo proxy che ha inviato la richiesta. Per i servlet HTTP, uguale al valore della variabile CGI REMOTE_ADDR.

Returns:

una stringa contenente l'indirizzo IP del client che ha inviato la richiesta

+1

non ha lavorato per me :( sto avendo il seguente errore: 'java.lang. IllegalArgumentException: Durante il tentativo di creare un proxy per javax.servlet.http.HttpServletRequest in ambito org.glassfish.jersey.process.internal.RequestScoped si è verificato un errore durante la creazione del proxy' –

+0

Il mio servlet è vuoto e quindi non riesco a ottenere il IP remoto Qualcun altro ha lo stesso problema? – AritzBi

+0

Questo è lo stesso problema che siamo fa cing. Qualche aggiornamento a questo proposito? – JSONStatham