request对象的介绍和获取请求头信息
Posted 是一个小迷糊吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了request对象的介绍和获取请求头信息相关的知识,希望对你有一定的参考价值。
#request对象的介绍和获取请求头信息
##request对象介绍
作用:request对象中封存了当前请求的所有请求信息
使用:
获取请求头数据
req.getMethod();//获得客户端向服务器端传送数据的方法
req.getRequestURL();//返回全路径
req.getRequestURI();//返回除去host(域名或者ip)部分的路径
req.getScheme();//返回当前链接使用的协议;比如,一般应用返回http;SSL返回https;
获取请求行数据
req.getHeader("键名");//获得HTTP协议定义的文件头信息
req.getHeaderNames();//Enumeration 类的枚举对象,该对象包含所有 request header 的名字。
获取用户数据
req.getParameter("键名");//获得客户端传送给服务器端的有标志名的指定的参数值
req.getParameterValues("键名");//返回同键不同值的请求数据(多选),返回数组。
req.getParameterNames();//返回所有用户请求数据的枚举集合
注意:
如果要获取的请求数据不存在,不会报错,返回null。
request对象有tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法
下面是代码示例(部分)
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
//获取请求头数据
//获取请求方式
String method = req.getMethod();
System.out.println(method);
//获取请求URL
StringBuffer url = req.getRequestURL();
System.out.println(url);
//获取URI
String uri = req.getRequestURI();
System.out.println(uri);
//获取协议
String h = req.getScheme();
System.out.println(h);
//请求行数据
//获取指定的请求信息
String vslue = req.getHeader("User-Agent");
System.out.println(vslue);
//获取所有的请求行的键的枚举
Enumeration e = req.getHeaderNames();
/* while (e.hasMoreElements())
System.out.println(e.nextElement());
*///(第一种遍历方法)
while (e.hasMoreElements())
String name = (String) e.nextElement();
String value = req.getHeader(name);
System.out.println(name+":"+value);
//(第二种遍历方法)
//获取用户数据
String name = req.getParameter("uname");
String pwd = req.getParameter("pwd");
System.out.println(name+":"+pwd);
//多选获取方式
String[] favs=req.getParameterValues("fav");
if(favs!=null)
for(String fav:favs)
System.out.println(fav);
以上是关于request对象的介绍和获取请求头信息的主要内容,如果未能解决你的问题,请参考以下文章