Servlet --Request
HttpServletRequest 是用来存放客户端得请求得参数
request常用方法
一.获得请求信息
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议、主机名、端口
request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名
request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到
request.getRemoteAddr(): 浏览器所处于的客户机的IP地址
request.getRemoteHost(): 浏览器所处于的客户机的主机名
request.getRemotePort(): 浏览器所处于的客户机使用的网络端口
request.getLocalAddr(): 服务器的IP地址
request.getLocalName(): 服务器的主机名
request.getMethod(): 得到客户机请求方式一般是GET或者POST
二.获取参数
request.getParameter(): 用于获取单值的参数
request.getParameterValues(): 用于获取具有多值的参数。
request.getParameterMap(): 用于遍历所有的参数,并返回Map类型。
三.获取头部信息
request.getHeader(); 获取浏览器传递过来的头信息。
请求行
获取请求中的方式
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());
请求体
获取用户数据
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);
}