设为首页 加入收藏

TOP

javaWeb_Request对象(一)
2019-09-03 00:52:47 】 浏览:39
Tags:javaWeb_Request 对象

首先说一下Http协议

 

一.Http协议的概念及作用

1.什么是HTTP协议?

(HTTP,HyperText Transfer Protocol)超文本传输协议, 是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

2.HTTP协议的作用

HTTP协议规范了传输信息的内容和格式

 

二..HTTP,查看浏览器的传输过程

1).启动浏览器;

   2).按F12,启动:调试模式,网络(NetWork)

   3).刷新网页,重新发送请求。

   4).可以查看请求信息:

 

 

 

三.HTTP协议_浏览器请求信息的组成

请求行

GET /资源路径 HTTP/1.1

请求头

请求头:一堆内容,作为了解即可

Host: localhost:9090 (服务器的域名)

Connection: keep-alive (网络连接是持久的)

Content-Length: 12          (发送数据的大小,单位字节)

Cache-Control: max-age=0  (设置缓存数据的存活时间,单位秒)

Origin: http://localhost:9090 (指示了请求来自于哪个站点——服务器名称)

Upgrade-Insecure-Requests: 1  (如果存在更安全的响应,客户端优先选择加密及带有身份验证的响应)

Content-Type: application/x-www-form-urlencoded (发送数据的媒体类型——发挥作用类似后缀名:.mp3 .avi)

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 (当前系统和浏览器版本)

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

Referer: http://localhost:9090/day01/1.html

Accept-Encoding: gzip, deflate, br

Accept-Language: zh-CN,zh;q=0.9

Cookie: JSESSIONID=98006861B5044ACC8D5C7840C93C17DA

 

 

3.请求体

         如果提交方式为get,则没有内容

         如果提交内容是post,则会存放提交内容的键值对形式

 

 

四.request对象的基本概念

request,在java中为HttpServletRequest对象

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

 

注:request对象封装了http请求中的所有信息,是由服务器创建

 

 

五.request对象_获取请求行信息

java中request对象的六个方法获取请求行的所有信息

获取提交方法(getMethod) 

获取请求行中的资源路径(getRequestURI)

获取完整的请求URL(getRequestURL)

获取协议名称/版本(getProtocol)

获取IP地址(getRemoteAddr)

获取本地端口(getLocalPort)

 

代码:

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//        获取提交方法(getMethod)
        System.out.println("请求行方法:"+req.getMethod());

//        获取请求行中的资源路径(getRequestURI)
        System.out.println("请求行资源路径:"+req.getRequestURI());

//        获取完整的请求URL(getRequestURL)
        System.out.println("完整的请求URL:"+req.getRequestURL());

//        获取协议名称/版本(getProtocol)
        System.out.println("获取协议,版本:"+req.getProtocol());

//        获取IP地址(getRemoteAddr)
        System.out.println("获取IP地址:"+req.getRemoteAddr());

//        获取本地端口(getLocalPort)
        System.out.println("获取本地端口:"+req.getLocalPort());

    }

 

 

当有http请求时,会输出请求行信息

 

运行结果

 

 

六.request对象_请求头信息

两个方法

  1. String getHeader(String name);以String的形式返回指定name的值

 

  1. Enumeration getHeaderNames(),返回此请求包含的所有头名称的枚举

 

代码

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //显示请求头信息
    System.out.println("通过头名称name查询指定信息");
    System.out.println("User-Agent"+req.ge
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一起来学Spring Cloud | 第五章:.. 下一篇Java面试题总结之数据结构、算法..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目