HTTP---HttpServletRequest接口(重点)

6.HttpServletRequest接口(重点)
6.1.代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息(服务器就自动创建对象);
6.2.继承自ServletRequest,并提供了与Http协议有关的方法,这些方法的主要功能是设置HTTP状态码和管理Cookie;
6.3.HttpServletRequest和ServletRequest均作为接口,作为一套规范;
6.4.这套规范的实现有部署它们的容器去实现(Tomcat,JBOSS等去实现)

   HttpServletRequest常用方法实例:
   1.获得客户机信息
     String requestUrl = request.getRequestURL().toString();//得到请求的URL地址
     String requestUri = request.getRequestURI();//得到请求的资源
     String queryString = request.getQueryString();//得到请求的URL地址中附带的参数
     String remoteAddr = request.getRemoteAddr();//得到来访者的IP地址
     String remoteHost = request.getRemoteHost();//返回发出请求的客户机的完整主机名
     int remotePort = request.getRemotePort();//返回客户机所使用的网络端口号
     String remoteUser = request.getRemoteUser();
     String method = request.getMethod();//得到请求URL地址时使用的方法
     String pathInfo = request.getPathInfo();//返回请求URL中的额外路径信息。额外路径信息是请求URL中的位于Servlet的路径之后和查询参数之前的内容,它以“/”开头
     String localAddr = request.getLocalAddr();//获取WEB服务器的IP地址
     String localName = request.getLocalName();//获取WEB服务器的主机名
   2.获得客户机请求头
       String userAgent = request.getHeader("User-Agent");//获取指定请求头信息
        Enumeration<String> headNames = request.getHeaderNames();//获取所有请求头信息
        请求头信息汇总:(11项)
        host:localhost:8080
        //可以减少tcp连接建立次数
         connection:keep-alive
         content-length:62
         accept:application/json, text/plain, */*
         origin:http://localhost:8080
         user:-1
         user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36
        content-type:application/json;charset=UTF-8
        //告诉服务器链接是从哪过来的(主要作用是防盗链)
        referer:http://localhost:8080/gledeye/html/web/
        accept-encoding:gzip, deflate, br
        accept-language:zh-CN,zh;q=0.9
   3.获得客户机请求参数(客户端提交的数据)
      3.1.在服务器端使用getParameter方法和getParameterValues方法接收表单参数
       getParameter(String)方法(常用)
       getParameterValues(String name)方法(常用)
       getParameterMap()方法(编写框架时常用)
    4.获取参数时的乱码问题
    request.setCharacterEncoding("utf-8");

猜你喜欢

转载自blog.csdn.net/qq591009234/article/details/89449436
今日推荐