【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类型的枚举.