Http协议
1.http属于应用层协议,位于TCP/IP协议顶层
Http是一种无状态的协议,短连接,响应完之后就关闭
TCP/IP是长连接
MIME类型:web服务器可以返回很多类型,浏览器可以自行使用指定应用程序打开
2.请求协议
请求协议包括4个部分:请求行,请求头,消息体、空行(用于分隔请求头和消息体)
请求行:HTTP的方法,请求的URL,HTTP版本
请求方法:get、post、put、delete
get、post最常用最基础,put和delete在风格里边可以用
get:查找,信息不敏感,浏览器显示,可见。
发送的长度有限(web服务器指定的,浏览器并没有限制)
post:新增式,信息加密。
用于敏感信息,大批量数据,上传数据。
web只管接收数据,不管是什么方式发送过来的
3.响应协议
状态行,响应头,空行,消息体。
状态行包含:HTTP版本,响应码,响应描述
状态行:
1XX:收到,继续处理
2XX:成功,行为成功的接受处理
3XX:重定向,会发送两次请求,不能处理,会告诉谁会处理,自己在发起请求
4XX:客服端错误,请求包含语法错误或者请求无法
5XX:服务器错误,(程序员错误)
4.Web服务器能接收请求,处理响应。
缺陷:只能像客户提供静态的网页内容,比如JSP那些都不能处理
处理方法:在Web服务器上增加一个辅助应用,这个实辅助应用负责生产动态页面。
比如Apache Web服务器软件
服务器端网页编程:在Web服务器创建动态服务器端内容的过程
解决动态网页的发展历程:
CGI--Servlet--JSP--MVC
CGI:每次请求都会打开一个CGI进程,会严重限号服务器资源。
Servlet和Web容器:在Java中个,用来解决CGI问题
Servlet:在Web服务器端或者应用服务器端运行的Java程序,在Web容器里运行,没有main()方法
Web容器:负责管理和运行Servlet
通信支持,生命周期管理,多线程支持,JSP支持,安全性
Servlet只会实例化一次,单例多线程
同一类型的而请求只会对应一个Servlet类
JSP:就是一个Servlet,html+Java
常见的Web容器:tomcat,Jboss
tomcat也是Apache的产品,也是一个小型的Web服务器,可以脱离Apache运行,
HTTP请求和响应传递过程:客户端 请求/响应 Web服务器 请求/响应 Web容器 每个Servlet1,2,
Java Web应用程序组成:
配置文件,
静态文件和JSP(用于页面展示),
类文件和包
网页(静态html和动态的JSP,放在web应用的根目录下,也可以放在jsp,html这样的子目录下)
servlet,JavaBean和其他类文件放在WEB-INF/classes目录下
标记放在WEB-INF目录下,多个描述文件案发那个在tld目录下
每个WEB应用都应该有WEB-INF目录,web.xml文件,classes目录
5.浏览器审查元素功能:
Element:看元素,各种css等
NetWork:可以看请求
Console:控制台,报错信息等
6.tomcat目录结构:
bin:启动和关闭服务器脚本文件
conf:配置信息,比如服务端口号
lab:
logs:日志
temp:临时文件
webapps:自己写的程序部署后的东西(对外进行展示)
work:jsp页面编译后的class文件
现阶段最有用的:conf,webaps
7.类和类的关系:
1.泛化(继承) is-a
箭头指向的是父类—△
2.实现 箭头所指为接口,箭头竖线曲线--△
3.关联:拥有和被拥有,成员变量 1→n
4.聚合:整体和部分的关系,可以单独存在 —◇
5.组合:整体和部分,部分不能单独存在
6.依赖:使用和被使用(方法调用等) ------>
8.Servlet生命周期:初始化,服务,销毁
初始化和销毁通常只执行一次,服务可以执行多次