目录
servletContext:获取 只获取 不讲解这个对象是什么。getServletContext:
Servletcontext:代表整个web应用,负责与servlet的容器去交互通信
HTTP协议
HTTP基本原理(简介)_Robin Hu的博客-优快云博客_http原理
一个页面的内容对应多个资源,我们敲回车的时候作为一次会话。
一次会话多个请求 ,
1.0 请求的的实现过程:建立连接、发送请求、解析请求、处理请求、返回响应、展示响应、断开连接。
1.1版本 :保持连接 每一次请求后 等待下一次请求 没有响应断开。
浏览器查看 请求了哪些资源。
请求消息的格式:
请求头:请求方式 请求路径 请求版本
请求方式有7种,常见有2中
get: 请求参数在url里面 ——
post:请求参数在请求体中
请求行:请求头名称 : 请求值 (k:v形式)
请求空行:空行/分割请求体和请求头
请求体/请求消息正文:封装post的请求体的 (get请求的直接在url里面)
请求头+请求行:
关于请求行的信息:
User-Agent:根据值判断是哪种浏览器发送的请求,做了判断对不同浏览器响应不同内容(因为每个浏览器解析程度不一样)
Accpet:接受的资源模式 /斜杠后面的值。 */*表示什么都可以
Accpet-language:接受的语言
Acepet-Encoding: 支持的压缩格式
Connection:是否保持连接
升级信息 版本
告诉服务器、我从哪里来、
防盗链
统计功能
防盗链: 在请求行里面判断 referer是不是来自优酷首页。
统计:
将我自己的网站在其他平台推广,就可以判断访问者从哪个方向来。统计哪个平台打广告比较好。
javaapi ——Request:
httpservlet ——webapi
serletRequest 接口:可以得到浏览器请求的东西
Interface HttpServletRequest实现接口ServletRequest
HttpServletRequest常用方法
获取请求头的信息
获取请求体/请求消息
其他功能:get post的请求 下面的方法通用。(有什么意义:doget就可以直接调用dopost方法 简化代码)
1.0 ——获取不同请求方式的请求参数。
获取参数时乱码问题 :上面读取流的问题。(字节 字符)
2.0——请求转发。
: 一种在服务器跳转资源的方式。
将demo08的转发到demo09/ (如果将demo09页跳转到demo08 就死循环了)
共享数据:相当于自己可以设置一些 request属性的值,将值转到,转发的对象中去。
servletContext:获取 只获取 不讲解这个对象是什么。
getServletContext:
BeanUtils: 将参数封装成对象的工具类(简化数据封装)
对应spring mvc里面的controller 方法接受的参数为对象时。
关于封装的实体类:
工具类的方法:
上面的设置值就是根据上面的方法来设置值
区分以下 在 工具类中的 成员变量:本来的成员变量 属性:set后面的名
响应消息:
response对象
ServeletContext对象
————————
响应行
响应行
响应空行
响应体:
————————
响应行:
响应头:
响应空行 空格
响应体:真实传输的数据。
Respouse对象:访问servlet时创建的
设置响应消息。
自己就可以设置响应头 响应行 响应空行 响应体
代码完成重定向
代码完成输出字节数据 输出字符数据
代码完成验证码
————————
重定向
重定与转发的区别:
重定向的路径写法:
相对路径:./ 上级目录 ../上上级目录
绝对路径:直接写全路径,或不写localhost
绝对路径的规则:判断请求从哪发出(服务器内部:转发 )(客户端:地址栏 超链接 / 重定向/表单提交)
给客户端使用:需要加虚拟目录。/day01/demo01 (day01为tomcat设置虚拟路径)
给服务器用:/demo01
输出字符数据到浏览器:
代码实现
乱码问题:乱码原因——编码和解码的方式不一样
中文Windows用的gbk
读写的流是tomcat提供的,不是我们自己new 的 ,用的是iso-8859-1
实现:设置content-type
简单实现:
验证码:
本质:图片 为了防止机器人注册
可以设置到response里面,让前端拿到显示。
——实现点击切换验证码;
使用JavaScript发送请求换图片
超链接和
Servletcontext:代表整个web应用,负责与servlet的容器去交互通信
获取:————
功能:——————
获取miniType
获取共享域对象的内容
不存在转发就可获取:可以共享所有数据 生命周期长
获取真实数据的位置
我们的项目在服务器和本地空间会有各一份。
我们这里获取的是服务器上的 。
获取src下:在服务器的class下。
文件下载案例:
在html里面的超链接标签a里面写的资源路径,点击超链接会弹出下载。
分析怎么实现:
——————
文件名乱码问题:
在响应发送之前获取请求的浏览器数据,将文件的编码方式更改