Springフレームワークでは、任意のSpring管理Beanで
@ Autowired``を
HttpServletRequest`に直接変換し、後でリクエストヘッダからクライアントのIPアドレスを取得できます
WebUtils.java
package com.mkyong.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
@Component
public class WebUtils {
private HttpServletRequest request;
@Autowired
public void setRequest(HttpServletRequest request) {
this.request = request;
}
private static String getClientIp() {
String remoteAddr = "";
if (request != null) {
remoteAddr = request.getHeader("X-FORWARDED-FOR");
if (remoteAddr == null || "".equals(remoteAddr)) {
remoteAddr = request.getRemoteAddr();
}
}
return remoteAddr;
}
}
参考文献
-
link://java/how-to-get-client-ip-address-in-java/[クライアントIPを取得する方法
Javaでのアドレス]