首页 > 技术文章 > 5 Request对象,获取请求头数据与用户请求数据

Scorpicat 2020-02-21 17:45 原文

注意:req指的是servlet中service方法的参数HttpServletRequest req

获取请求头数据

  • req.getMethod();  //获取请求方式
  • req.getRequestURL();  //获取请求URL信息
  • req.getRequestURI();  //获取请求URI信息
  • req.getSchheme();  //获取协议

获取请求行数据

  • req.getHeader("键名");//返回指定的请求头信息
  • req.getHeaderNames();//返回请求头的键名的枚举集合

代码演示:

//获取请求行数据
		Enumeration names = req.getHeaderNames();
		while(names.hasMoreElements()) {
			String name = (String)names.nextElement();
			String value = req.getHeader(name);
			System.out.println(name+":"+value);
		}

  

结果:

host:localhost
connection:keep-alive
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
referer:http://localhost/Web1/method.jsp
accept-encoding:gzip, deflate, br
accept-language:zh-CN,zh;q=0.9
cookie:JSESSIONID=642977B5CFD81FBB5AF4D9EBB6F8C5DB

获取用户数据

注:键名(name)指的是html标签中name属性的值。value即value的值。

  • req.getParameter("键名");//返回指定的用户数据
  • req.getParameterValues("键名");//返回键不同值的请求数据(多选),返回的数组
  • req.getParameterNames();//返回所有用户请求的数据的键名枚举集合

注意:

  如果要获取的数据不存在,不会报错,返回null

推荐阅读