HttpServletRequest获取请求行/头/体
程序员文章站
2024-02-04 20:05:46
...
//解决参数中文乱码 仅适用于Post提交数据 对GET无效
request.setCharacterEncoding("UTF-8");
/** 1-获取请求行 **/
//1.1 获取URL
StringBuffer strUrl=request.getRequestURL();
//1.2 获取URI
String strUri=request.getRequestURI();
//1.3 获取GET请求参数
String strGet=request.getQueryString();
//1.4 获取请求方式
String method=request.getMethod();
//1.5 获取请求WEB应用名称
String str=request.getContextPath();
/** 2-获取请求头 **/
//2.1 获取请求头名称集合
Enumeration<String> headNames = request.getHeaderNames();
//获取所有请求头
while(headNames.hasMoreElements()) {
System.out.println(headNames.nextElement());
}
//2.2 根据请求头名称获取指定的值
request.getHeader("");
Enumeration<String> headNames2 = request.getHeaderNames();
//获取所有请求头以及对应的值
while(headNames2.hasMoreElements()) {
String val=headNames2.nextElement();
System.out.println(val+"==="+request.getHeader(val));
}
// referer:告诉服务器是从哪个页面链接过来的 用于防盗链
System.out.println("referer="+request.getHeader("referer"));
/** 3-获取请求体 **/
//1.获取一个值
String val=request.getParameter("");
//2.获取多个值
String []vals=request.getParameterValues("aihao");
System.out.println(Arrays.toString(vals));
//3.获取所有请求参数的名称
Enumeration<String> pNames=request.getParameterNames();
while(pNames.hasMoreElements()) {
System.out.println(pNames.nextElement());
}
//4.获取所有请求参数
Map<String, String[]> map= request.getParameterMap();
Set<Entry<String, String[]>> set=map.entrySet();
Iterator<Entry<String, String[]>> iter=set.iterator();
while(iter.hasNext()) {
Entry<String, String[]> entry=iter.next();
System.out.println(entry.getKey()+"=="+Arrays.toString(entry.getValue()));
}
/**通过BeanUtil将请求获取的Map对象转换为一个Bean对象**/
BeanUtils.populate(Objcet, request.getparameterMap);