HttpServletRequest详解
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
例如:http://localhost:8080/demo/queryUserList.html?pageNum=1&pageSize=20
getRequestURL方法返回客户端发出请求时的完整URL。
http://localhost:8080/demo/queryUserList.html
getRequestURI方法返回请求行中的资源名部分。
/demo/queryUserList.html
getQueryString 方法返回请求行中的参数部分。
pageNum=1&pageSize=20
getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
getRemoteAddr方法返回发出请求的客户机的IP地址。
getRemoteHost方法返回发出请求的客户机的完整主机名。
getRemotePort方法返回客户机所使用的网络端口号。
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名
获取请求头
getHeader(string name)方法:String
getHeaders(String name)方法:Enumeration
getHeaderNames()方法
例如:String value = request.getHeader("Accept-Encoding");//获取Accept-Encoding请求头对应的值
获得客户机请求参数(客户端提交的数据)
- getParameter(String)方法(常用)
- getParameterValues(String name)方法(常用)
- getParameterNames()方法(不常用)
- getParameterMap()方法(编写框架时常用)
String userid = request.getParameter("userid");//获取填写的编号,userid是文本框的名字,<input type="text" name="userid">
//request对象封装的参数是以Map的形式存储的 Map<String, String[]> paramMap = request.getParameterMap(); for(Map.Entry<String, String[]> entry :paramMap.entrySet()){ String paramName = entry.getKey(); String paramValue = ""; String[] paramValueArr = entry.getValue(); for (int i = 0; paramValueArr!=null && i < paramValueArr.length; i++) { if (i == paramValueArr.length-1) { paramValue+=paramValueArr[i]; }else { paramValue+=paramValueArr[i]+","; } } System.out.println(MessageFormat.format("{0}={1}", paramName,paramValue)); }
浙公网安备 33010602011771号