2012-01-19 2 views

답변

37

HttpServletRequest에서 getRemoteAddr()을 검색하여 사용자 IP 주소에 액세스하고 getHeader()을 사용하여 헤더 값을 가져올 수 있습니다. 예를

@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"); 
     .... 
    } 
} 

를 들어

당신은 모델 또는 요청 PARAMS처럼 doSomething() 방법에 다른 매개 변수를 전달할 수 있습니다.

+0

감사합니다. 나는 실제로 알림을 받았을 때 내 게시물을 삭제하는 중이었습니다. 그것을 알아 냈다. 어쨌든 고마워! –

+4

클라이언트가 프록시 서버 뒤에 있으면 가능한 해결책은'String ip = req.getHeader ("X-FORWARDED-FOR");' –

+0

을 사용하고'if (ip == null) ip = request .getRemoteAddr();' –