Лучший способ получить IP клиента, чтобы перебрать заголовки
private static final String[] IP_HEADER_CANDIDATES = {
"X-Forwarded-For",
"Proxy-Client-IP",
"WL-Proxy-Client-IP",
"HTTP_X_FORWARDED_FOR",
"HTTP_X_FORWARDED",
"HTTP_X_CLUSTER_CLIENT_IP",
"HTTP_CLIENT_IP",
"HTTP_FORWARDED_FOR",
"HTTP_FORWARDED",
"HTTP_VIA",
"REMOTE_ADDR" };
public static String getClientIpAddress(HttpServletRequest request) {
for (String header : IP_HEADER_CANDIDATES) {
String ip = request.getHeader(header);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
return ip;
}
}
return request.getRemoteAddr();
}
1.) Является ли это webapp или просто какое-то случайное приложение Spring? 2.) Замечательно, что edu.wustl.catissuecore.CaTissueApplictionServicImpl (или gov.nih.nci.system.comm.server.ApplicationServiceServerImpl?) * Не реализует AbstractController ... но что * делает * он реализует? Если это не сам контроллер, есть ли контроллер выше, который может передать это в этот класс? 3.) Конфигурация Spring для класса была уже размещена в главном вопросе - вам нужно опубликовать код или, по крайней мере, описать иерархию наследования и другие компоненты, с которыми взаимодействует ваш класс. – Nate