一、通过Request可以获取到的那些内容
1、请求行的全部内容、客户端和服务端的主机名、ip等
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// GET 请求方式
System.out.println("request.getMethod():" + request.getMethod());
/// day37/TestRequest01 获取到请求路径 /项目/sevlet路径 请求行中间部分
// GET /day37/TestRequest01 httpp/1.1
System.out.println("request.getRequestURI():" + request.getRequestURI());
// http://localhost:8080/day37/TestRequest01 客户端地址栏的输入
System.out.println("request.getRequestURL():" + request.getRequestURL());
// null name=tom&password=1234 路径之后的参数信息
System.out.println("request.getQueryString():" + request.getQueryString());
// HTTP/1.1 协议
System.out.println("request.getProtocol():" + request.getProtocol());
/// day37 项目路径
System.out.println("request.getContextPath():" + request.getContextPath());
/// TestRequest01 当前Servlet对应的路径
System.out.println("request.getServletPath():" + request.getServletPath());
// 192.168.101.82 客户端的IP
// 本地的: 由于程序是在服务端运行,对于服务端的程序来说,本地就是代表服务端,
// 远程的:远程代表的是客户端
System.out.println("request.getRemoteAddr():" + request.getRemoteAddr());
// 192.168.101.82 客户端的IP主机名,获取不到默认为客户端IP
System.out.println("request.getRemoteHost():" + request.getRemoteHost());
// 53873 客户端的端口号,在客户端的浏览器随机分配端口号
System.out.println("request.getRemotePort():" + request.getRemotePort());
// 192.168.101.81 本地的(服务端)IP地址
System.out.println("request.getLocalAddr():" + request.getLocalAddr());
// dongzi-PC 本地的(服务端)主机名
System.out.println("request.getLocalName():" + request.getLocalName());
// 8080 本地的(服务端)端口号
System.out.println("request.getLocalPort():" + request.getLocalPort());
// 192.168.101.81 本地的(服务端)主机名
System.out.println("request.getServerName():" + request.getServerName());
// 8080 本地的(服务端)端口号
System.out.println("request.getServerPort():" + request.getServerPort());
// http
System.out.println("request.getScheme():" + request.getScheme());
// 通过request可以获取到关于请求行的什么内容,以及客户端的什么信息?
// 1_请求行的全部内容 GET /day37/Demo01?namne=tom&password=1234 http/1.1
// 2_客户端和服务端的IP,主机名,端口号
}
2、获取所有请求头的name值
//请求头格式
//name01:value01
//name02:value02
//name03:value03
Enumeration<String> em = request.getHeaderNames();//获取所有的请求头的name值