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 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原创文章,未经本站允许不得转载。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐