package com.casic.util; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; public class HttpContext { public static final String X_REAL_IP = "X-real-ip"; public static final String X_FORWARDED_FOR = "X-Forwarded-For"; public HttpContext() { } public static String getIp() { HttpServletRequest request = getRequest(); if (request == null) { return "127.0.0.1"; } else if (request.getHeader("X-real-ip") != null) { return request.getHeader("X-real-ip"); } else { return request.getHeader("X-Forwarded-For") != null ? request.getHeader("X-Forwarded-For") : request.getRemoteHost(); } } public static HttpServletRequest getRequest() { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); return requestAttributes == null ? null : requestAttributes.getRequest(); } public static HttpServletResponse getResponse() { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); return requestAttributes == null ? null : requestAttributes.getResponse(); } public static Map<String, String> getRequestParameters() { HashMap<String, String> values = new HashMap(); HttpServletRequest request = getRequest(); if (request == null) { return values; } else { Enumeration enums = request.getParameterNames(); while (enums.hasMoreElements()) { String paramName = (String) enums.nextElement(); String paramValue = request.getParameter(paramName); values.put(paramName, paramValue); } return values; } } }