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(); 获取浏览器传递过来的头信息。

<!--比如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);
​
}

原文地址:https://www.cnblogs.com/-xsw000/p/12629381.html