Servlet --Request

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);
}

你可能感兴趣的:(Servlet --Request)