1.HttpServletRequest的由来
1.HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
2.HttpServletRequest对象一些常用的方法
/****************************全部的方法*************************/
getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分。
getQueryString 方法返回请求行中的参数部分。
getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
getRemoteAddr方法返回发出请求的客户机的IP地址
getRemoteHost方法返回发出请求的客户机的完整主机名
getRemotePort方法返回客户机所使用的网络端口号
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
/****************************常用的方法*************************/
1.获得客户机请求参数(客户端提交的数据)
getHeader方法
getHeaders方法
getHeaderNames方法
2.获取客户端请求参数
getParameter方法
getParameterValues(String name)方法
getParameterNames方法
getParameterMap方法
3.直接上代码测试
#1.获取请求的头方法
String value = request.getHeader("host");
System.out.println("header:"+value);
//遍历全部的请求头
Enumeration<String> enums = request.getHeaderNames();
while (enums.hasMoreElements()) {
String headerName = enums.nextElement();
String headerValue = request.getHeader(headerName);
System.out.println(headerName + ":" + headerValue);
}
#2. 获取请求参数的方法(返回集合)
Enumeration<String> enums = req.getParameterNames();
while (enums.hasMoreElements()){
String headerName = enums.nextElement()
String headerValue = req.getParameter(headerName);
System.out.println("get parameter;"+headerName+":"+headerValue);
}
}
#3.获取请求参数返回的数据(返回的是map)
//得到参数的集合
Map<String,String[]> map = req.getParameterMap();
Set<Map.Entry<String,String[]>> entrySet = map.entrySet();
for (Map.Entry<String,String[]> entry: entrySet){
String key = entry.getKey();
String[] value = entry.getValue();
System.out.println(key+":"+value[0]);
}
#4.转发的方法
req.getRequestDispatcher("/adv.html").forward(req,resp);