英科--获取request 中的所有参数-包括Cookie-摘录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ywj776199845/article/details/84560950

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

public class GetHttpServletRequestParams {
	/**
	 * 获得request中的所有参数 包括Cookie里面的参数
	 * 
	 * @param request
	 * @return string object类型的map
	 */
	public HashMap<String, Object> getParametersO(HttpServletRequest request) {
		HashMap<String, Object> hashMap = new HashMap<String, Object>();
		if (request == null) {
			request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
		}
		Map req = request.getParameterMap();
		if ((req != null) && (!req.isEmpty())) {
			Map<String, Object> p = new HashMap<String, Object>();
			Collection keys = req.keySet();
			for (Iterator i = keys.iterator(); i.hasNext();) {
				String key = (String) i.next();
				Object value = req.get(key);
				Object v = null;
				if ((value.getClass().isArray()) && (((Object[]) value).length > 0)) {
					if (((Object[]) value).length > 1) {
						v = ((Object[]) value);
					} else {
						v = ((Object[]) value)[0];
					}
				} else {
					v = value;
				}
				if ((v != null) && ((v instanceof String)) && !"\"\"".equals(v)) {
					String s = ((String) v).trim();
					if (s.length() > 0) {
						p.put(key, s);
					}
				}
			}
			hashMap.putAll(p);
			// 读取cookie
			hashMap.putAll(ReadCookieMap(request));

		}
		return hashMap;
	}
	
	
	/**
	 * 将cookie封装到Map里面
	 * 
	 * @param request
	 * @return
	 */
	private static Map<String, String> ReadCookieMap(HttpServletRequest request) {
		Map<String, String> cookieMap = new HashMap<String, String>();
		Cookie[] cookies = request.getCookies();
		if (null != cookies) {
			for (Cookie cookie : cookies) {
				cookieMap.put(cookie.getName(), cookie.getValue());
			}
		}
		return cookieMap;
	}
}

猜你喜欢

转载自blog.csdn.net/ywj776199845/article/details/84560950