2012-01-19 36 views

Trả lời

37

Bạn có thể truy xuất từ ​​HttpServletRequest, sử dụng getRemoteAddr() để có quyền truy cập vào địa chỉ IP của người dùng và getHeader() để nhận giá trị tiêu đề.

Ví dụ

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

Bạn có thể vượt qua các thông số khác với phương pháp doSomething(), giống như mô hình hoặc yêu cầu params.

+0

Cảm ơn. Tôi thực sự đang bận xóa bài đăng của mình khi tôi nhận được thông báo. Tìm ra. Dù sao cũng cảm ơn bạn! –

+4

nếu khách hàng đứng sau máy chủ proxy thì giải pháp có thể bằng cách sử dụng 'String ip = req.getHeader (" X-FORWARDED-FOR ");' –

+0

và sau đó xử lý nó với điều kiện như 'if (ip == null) ip = request .getRemoteAddr(); ' –

Các vấn đề liên quan