学习笔记
注:此文仅为个人学习笔记,走过路过前辈们,如果文章有问题还请批评指正,博主本人时刻虚心请教!
b站视频链接https://www.bilibili.com/video/av47730661?p=13
(持续更新ing…)
一、Servlet:
1) server applet:运行在服务器端的小程序
就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则
我们可以自定义一个类,来实现servlet接口,复写方法
A创建java EE选项
B定义一个类,实现Servlet接口
C实现接口中的抽象方法
D配置servlet
2) Tomcat执行servlet原理:
1.当服务器接收到客户端浏览器请求时,会解析请求的url路径,获取访问的servlet的资源路径
2.查找web.xml文件,是否有对应的标签体内容
3.如果有,则找到对应的全类名
4.Tomcat会将字节码文件加载进内存,并创建其对象
5.调用其方法
3) Servlet生命周期5个方法
1.被创建:执行init方法,只执行一次
2.提供服务:执行service方法,可执行多次
3.被销毁:执行destroy,只执行一次
4.Servletconfig:获取Servlet配置对象;
5.Getservletinfo:获取servlet信息,版本/作者等
4) Service
// 判断请求方式
String method =req.getMethod();
If(“Get”.equal(method)){doGet()}
Else if(“Post”.equal(method){doPost()}
二、HTTP
1) 超文本传输协议
定义了客户端与服务器通信时,发送的数据格式
特点:
1.基于TCP/IP的高级协议
2.默认端口:80
3.基于请求/响应模型的,一次请求对应一次响应
4.无状态:每次请求之间相互独立,不能交互数据
2) http版本:
1.0 单连接短连接
1.1 连接复用
3) 请求消息数据格式
ServletRequest
1.请求行:请求方式 请求url 协议 /版本
Get方式,参数在请求头中,url长度有限制,不安全;
Post方式,参数在请求体中,url长度没有限制,相对安全
2.请求头
Host:请求主机localhost
User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息
通过这里获取浏览器信息,可用于解决浏览器兼容性问题
Accept/Accept-Language/Accept-Encoding
Referer:
A:防盗链(盗版网站盗取正版视频链接)if(referer.equals(“优酷首页”){播放影音}else{})
B:统计工作
3.请求空行
4.请求体(正文):存放post参数
4) 响应消息数据格式
ServletResponse