HttpServletRequest获取客户端所有参数

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,通过它可以获得客户的所有参数信息。

获取参数方法

1. 获得客户机信息

getRequestURL  //返回客户端发出请求时的完整URL。
getRequestURI  //返回请求行中的资源名部分。
getQueryString  //返回请求行中的参数部分。
getRemoteAddr  //返回发出请求的客户机的IP地址
getRemoteHost  //返回发出请求的客户机的完整主机名
getRemotePort  //返回客户机所使用的网络端口号
getLocalAddr  //返回WEB服务器的IP地址。
getLocalName  //返回WEB服务器的主机名
getMethod  //得到客户机请求方式

2. 获得客户机请求头

getHead(name)  //获取一个指定头字段的值
getHeaders(String name)  //返回一个Enumeration集合对象,该集合对象由请求消息中出现的某个指定名称的所有头字段值组成。
getHeaderNames  //获取一个包含所有请求头字段的Enumeration对象

3. 获得客户机请求参数(客户端提交的数据)

getParameter(name)  //获取指定名称的参数值。这是最为常用的  //之一。
getParameterValues(String name)  //获取指定名称参数的所有值数组。它适用于一个参数名对应多个值的情况。如页面表单中的复选框,多选列表提交的值。
getParameterNames()  //返回一个包含请求消息中的所有参数名的Enumeration对象。通过遍历这个Enumeration对象,就可以获取请求消息中所有的参数名。
getParameterMap()  //返回一个保存了请求消息中的所有参数名和值的Map对象。Map对象的key是字符串类型的参数名,value是这个参数所对应的Object类型的值数组。

例子

//获取所有客户信息 
public class CustInfoServlet extends HttpServlet {  
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        //1.获取客户端请求的完整URL  
        String url = request.getRequestURL().toString();  
        System.out.println(url);  
          
        //2.获取客户端请求的资源部分的名称  
        String uri = request.getRequestURI().toString();  
        System.out.println(uri);  
          
        //3.获取请求行的参数部分  
        String qStr = request.getQueryString().toString();  
        System.out.println(qStr);  
          
        //4.获取请求客户端的ip地址  
        String ip = request.getRemoteAddr();  
        System.out.println(ip);  
          
        //5.获取客户机的请求方式  
        String method = request.getMethod();  
        System.out.println(method);  
          
        //6.获取当前web应用的名称,不是工程名
        String webName = request.getContextPath();  
        System.out.println(webName);    //7.给一个请求头名称,获取其值  
        String host = request.getHeader("Host");  
        System.out.println(host);  
 
        //8.获取所有请求头名字组成的枚举  
        Enumeration<String> enumeration = request.getHeaderNames();  
        while (enumeration.hasMoreElements()) {  
            String name = (String) enumeration.nextElement();  
            String values = request.getHeader(name);  
            System.out.println(name+":"+values);  
        }

        //9.获取post和get两种请求参数  String username = request.getParameter("username");  
        username = new String(username.getBytes("iso8859-1"),"utf-8");  
        response.sendRedirect(request.getContextPath()+"/index.jsp");  
    }  
  
    public void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        doGet(request, response);  
    }  
}  



版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。