HttpServletRequest

HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。

Request常用方法
获得客户机信息
  • getRequestURL方法返回客户端发出请求时的完整URL。
  • getRequestURI方法返回请求行中的资源名部分。
  • getQueryString 方法返回请求行中的参数部分。
  • getPathInfo方法返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头。
  • getRemoteAddr方法返回发出请求的客户机的IP地址。
  • getRemoteHost方法返回发出请求的客户机的完整主机名。
  • getRemotePort方法返回客户机所使用的网络端口号。
  • getLocalAddr方法返回WEB服务器的IP地址。
  • getLocalName方法返回WEB服务器的主机名。
获得客户机请求头
  • String getHeader(String name) 以字符串形式返回指定的请求头的值。
  • Enumeration<String> getHeaders(String name) 适用于多值请求头
  • Enumeration<String> getHeaderNames() 返回一个枚举,包含在该请求中包含的所有的头名。
  • int getIntHeader(String name),适用于单值int类型的请求头
  • long getDateHeader(String name),适用于单值毫秒类型的请求头
@WebServlet("/ServletDemo7")
public class ServletDemo7 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("UTF-8");
        response.setHeader("content-type", "text/html;charset=UTF-8");
        PrintWriter printWriter = response.getWriter();
        Enumeration<String> resheadinfos = request.getHeaderNames();//获取所有请求头
        printWriter.write("获取所有的请求头如下:");
        printWriter.write("<hr/>");
        while(resheadinfos.hasMoreElements()){
            String headname = (String) resheadinfos.nextElement();
            String headvalue = request.getHeader(headname);
            printWriter.write(headname+":"+headvalue);
            printWriter.write("<br/>");
        }
        printWriter.write("<br/>");
        printWriter.write("获取到的客户端Accept-Encoding请求头的值:");
        printWriter.write("<hr/>");
        String value = request.getHeader("Accept-Encoding");//获取Accept-Encoding请求头对应的值
        printWriter.write(value);

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

访问http://localhost:8080/ServletDemo7

请求头

获得客户机请求参数(客户端提交的数据)
  • String getParameter(String name) 根据name获取请求参数
  • String[] getParameterValues(String name) 根据name获取请求参数列表(常用)
  • Map<String, String[]> getParameterMap() 返回的是一个Map类型的值,该返回值记录着前端(如jsp页面)所提交请求中的请求参数和请求参数值的映射关系。(编写框架时常用)

参考博文:https://www.cnblogs.com/xdp-gacl/p/3798347.html
才疏学浅之处,切莫在意。
                              ——2019.7.12下午

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容