1。获取 状态码500 200
Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
String year = (String) getRequest().getSession().getAttribute("year");
2。获取header的某个属性
String authorization = request.getHeader("Authorization");
3。构建token响应头
private HttpHeaders buildTokenHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.set("Cache-Control", "no-store");
headers.set("Pragma", "no-cache");
headers.set("Content-Type", "application/json;charset=UTF-8");
return headers;
}
4.获取request和request的ip,请求地址,参数
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
response.setHeader("X-Total-Count", String.valueOf(totalCount));
response.setHeader("Link", link);
String info = request.getHeader("user-info");
String requestURI = request.getRequestURI();
StringBuffer requestURL = request.getRequestURL();
public static String getClientHost(HttpServletRequest request){
String ip = request.getHeader("x-forwarded-for");
if (ip != null && ip.length() != 0 && ! UNKNOWN.equalsIgnoreCase(ip)) {
if( ip.indexOf(",")!=-1 ){
ip = ip.split(",")[0];
}
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
System.out.println("Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
System.out.println("WL-Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
System.out.println("HTTP_CLIENT_IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
System.out.println("X-Real-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || UNKNOWN.equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
System.out.println("getRemoteAddr ip: " + ip);
}
System.out.println("获取客户端ip: " + ip);
return ip;
}
public static Map<String, Object> getRequestParameters(HttpServletRequest request) {
String parameters = "";
if ("GET".equals(request.getMethod())) {
String urlParameter = request.getQueryString();
if (urlParameter != null && !"".equals(urlParameter)) {
urlParameter = URLDecoder.decode(urlParameter, StandardCharsets.UTF_8);
} else {
urlParameter = "";
}
parameters = urlParameter;
} else if ("POST".equals(request.getMethod())) {
StringBuilder totalParameter = new StringBuilder();
Map<String, String[]> params = request.getParameterMap();
int parametersNum = request.getParameterMap().size();
int flag = 1;
for (String key : params.keySet()) {
String[] values = params.get(key);
for (String value : values) {
totalParameter.append(key).append("=").append(value);
}
if (flag < parametersNum) {
totalParameter.append("&");
}
flag += 1;
}
parameters = totalParameter.toString();
}
Map<String, Object> map = new HashMap<String, Object>();
String[] arr = parameters.split("&");
for (String s : arr) {
String key = s.substring(0, s.indexOf("="));
String value = s.substring(s.indexOf("=") + 1);
map.put(key, value);
}
return map;
}
