笔记|构造HTTP

DAO设计模式 DBUtil Servlet是什么 Servlet是一种实现动态页面的技术,是一组Tomcat提供给程序员的API,帮助程序员简单高效的开发一个web app。
动态页面和静态页面 静态页面就是内容始终固定的页面,即使用户不同时间不同输入的参数不同,页面内容也不会发生改变;动态页面指用户不同时间不同输入参数不同,页面内容会随之变化的页面。
构建动态页面的技术有很多,每种语言都有一些相关的库和框架来做这件事情。
servlet就是tomcat这个HTTP服务器提供给Java的一组API,来完成构建动态页面这个任务。
servlet主要做的工作 1、允许程序员注册一个类,在tomcat收到某个特定的HTTP请求的时候,执行这个类中的代码
2、帮助程序员解析HTTP请求,把HTTP请求从一个字符串解析成一个HttpRequest对象
3、帮助程序员构造HTTP响应,程序员只要给指定的HttpResponse对象填写一些属性字段,Servlet就会自动的安装HTTP协议的方式构造出一个HTTP响应字符串,并通过Socket写回给客户端。
通过form表单构造HTTP请求 form表单是HTML中的一个常用标签,可以用于给服务器发送GET或POST请求
form发送GET请求 【笔记|构造HTTP】form的重要参数:
action:构造的HTTP请求的URL是什么
method:构造的HTTP请求的方法是GET还是POST
input 的重要参数:
type: 表示输入框的类型. text 表示文本, password 表示密码, submit 表示提交按钮.
name: 表示构造出的 HTTP 请求的 query string 的 key. query string 的 value 就是输入框的用户``输入的内容.
value: input 标签的值. 对于 type 为 submit 类型来说, value 就对应了按钮上显示的文本.


页面展示的效果:
笔记|构造HTTP
文章图片

在输入框随便填写数据,
笔记|构造HTTP
文章图片

点击 “提交”, 此时就会构造出 HTTP 请求并发送出去
form代码和http请求之间的对应关系 笔记|构造HTTP
文章图片

form 的 action 属性对应 HTTP 请求的 URL
form 的 method 属性对应 HTTP 请求的方法
input 的 name 属性对应 query string 的 key
input 的 内容 对应 query string 的 value
通过ajax构造HTTP请求 1、从前端角度, 除了浏览器地址栏能构造 GET 请求, form 表单能构造 GET 和 POST 之外, 还可以通过 ajax的方式来构造 HTTP 请求. 并且功能更强大.
2、ajax 全称 Asynchronous Javascript And XML, 是 2005 年提出的一种 JavaScript 给服务器发送HTTP 请求的方式.
3、特点是可以不需要 刷新页面/页面跳转 就能进行数据传输. 在 JavaScript 中可以通过 ajax 的方式构造 HTTP 请求.
发送 GET 请求 创建 test.html, 在
笔记|构造HTTP
文章图片

浏览器和服务器交互过程(引入 ajax 后): 笔记|构造HTTP
文章图片

发送 POST 请求 对于 POST 请求, 需要设置 body 的内容
  1. 先使用 setRequestHeader 设置 Content-Type
  2. 再通过 send 的参数设置 body 内容
  3. 笔记|构造HTTP
    文章图片
通过 Java socket 构造 HTTP 请求 所谓的 “发送 HTTP 请求”, 本质上就是按照 HTTP 的格式往 TCP Socket 中写入一个字符串.
所谓的 “接受 HTTP 响应”, 本质上就是从 TCP Socket 中读取一个字符串, 再按照 HTTP 的格式来解析.
我们基于 Socket 的知识, 完全可以构造出一个简单的 HTTP 客户端程序, 用来发送各种类型的 HTTP 请 求

    推荐阅读