14_Request对象

【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类型的枚举.
原文地址:https://www.cnblogs.com/HigginCui/p/5984754.html