14_Request对象
【HttpServletRequest简介】
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获取客户端的这些信息。
【获取当前请求的URI和URL】
request.getRequestURI(); //返回客户端发出请求的完整URL
request.getRequestURL(); //返回客户端发出请求的请求行中的资源名部分
【获取 当前请求行中的参数部分】
request.getQueryString();
【获取 当前发出请求的客户端的IP地址】
request.getRemoteAddr();
【获取当前发出请求的客户端的完整主机名】
request.getRemoteHost();
【获取当前发出请求的客户端的网络端口号】
request.getRemotePort();
【返回Web服务器的IP地址】
request.getLocalAddr();
【返回Web服务器的主机名】
request.getLocalName();
【返回当前客户端请求的请求方式】
request.getMethod();
【使用request获取请求头相关的方法(使用了Servlet3.0)】
[ QWE.java (Servlet)]
package com.Higgin.servlet; import java.io.IOException; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/QWE") public class QWE extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("Accept-Encoding:"+request.getHeader("Accept-Encoding")); System.out.println("--------------遍历Accept-Encoding中所有的value------------------"); Enumeration e=request.getHeaders("Accept-Encoding"); while(e.hasMoreElements()){ String value=(String) e.nextElement(); System.out.println(value); } System.out.println("-------------遍历所有的请求头的名字和属性-------------------"); Enumeration ehs=request.getHeaderNames(); //获取所有的请求头名字 while(ehs.hasMoreElements()){ String name=(String) ehs.nextElement(); String value=request.getHeader(name); System.out.println(name+" ----- "+value); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } }
【运行结果】
[ 客户端浏览器 ]
[ 服务端控制台 ]
【获取POST/GET传递的参数】
String name=request.getParameter("name"); //获取一个参数
String[] names=request.getParameterValues("names"); //获取多个参数
Enurmation<String> names=request.getParameterNames(); //将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).返回一个Enumeration类型的枚举.