2012-01-19 9 views

risposta

37

È possibile recuperarlo da HttpServletRequest, utilizzando getRemoteAddr() per ottenere l'accesso all'indirizzo IP dell'utente e getHeader() per ottenere il valore di intestazione.

Per esempio

@Controller 
public class MyController { 
    @RequestMapping(value="/do-something") 
    public void doSomething(HttpServletRequest request) { 
     final String userIpAddress = request.getRemoteAddr(); 
     final String userAgent = request.getHeader("user-agent"); 
     .... 
    } 
} 

si può passare altri parametri al metodo doSomething(), come modello o richiedere params.

+0

Grazie. In realtà ero occupato a cancellare il mio post quando ho ricevuto la notifica. Capito. Grazie comunque! –

+4

se il client si trova dietro il server proxy, allora la soluzione possibile sarebbe usando 'String ip = req.getHeader (" X-FORWARDED-FOR ");' –

+0

e quindi gestirlo con condizioni come 'if (ip == null) ip = request .getRemoteAddr(); ' –

Problemi correlati