request常用方法
一.获得请求信息
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议、主机名、端口
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr():
二.获取参数
request.getParameter(): 用于获取单值的参数
request.getParameterValues(): 用于获取具有多值的参数。
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。
三.获取头部信息
request.getHeader(); 获取浏览器传递过来的头信息。
<!--比如getHeader("user-agent") 可以获取浏览器的基本资料,这样就能判断是firefox、IE、chrome、或者是safari浏览器-->
请求行
获取请求中的方式
String method = request.getMethod();
System.out.println(method);
获取请求的完整地址
StringBuffer url = request.getRequestURL();
System.out.println(url);
获取请求的资源路径
String uri = request.getRequestURI();
System.out.println(uri);
获取请求中的协议
String schemae = request.getScheme();
System.out.println(schemae);
请求头
根据key获取value的值
String UserAgent= request.getHeader("User-Agent");
System.out.println(UserAgent);
获取请求头信息中所有key的枚举对象
Enumeration headerNames = request.getHeaderNames(); while(headerNames.hasMoreElements()){ String key = (String) headerNames.nextElement(); String value = request.getHeader(key); System.out.println(key+":"+value); // System.out.println(headerNames.nextElement());
请求体
获取用户数据
<!--无论请求方式是post还是get,获取用户数据的方式不变-->
String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); String fav = request.getParameter("fav"); System.out.println("账号:"+name+"密码:"+pwd);
获取相同key的多个值,例如checkbox
String[] parameterValues = request.getParameterValues("fav"); for(String str:parameterValues){ System.out.println(fav+":"+str); }