Servlet学习笔记二

来源:互联网 发布:股票交易系统测试软件 编辑:程序博客网 时间:2024/05/29 13:14

一.HTTP
(1)什么是http协议
是由w3c制定的一种网络应用层协议,规定了浏览器与web服务器之间如何通信以及相应的数据包的格式
1)如何通信
建立连接->发送数据->接收数据->关闭连接
2)特点
一次请求一次连接
如果浏览器需要发送新的请求就要建立新的连接,这样设计的有点事服务器可以利用有限的连接为竟可能多的请求服务
(2)数据包的结构
1)请求数据包
请求行(请求方式(get or post),请求资源路径,协议类型和版本)
消息头(一些键值对,有一定的规范)
实体内容(当请求方式为post的时候,改部分有内容,内容是传递的参数)
2)响应数据包
状态行(协议类型和版本,状态码,状态描述)
200:正确
500:系统出错
404:地址不正确,找不到对应的资源
消息头(键值对,符合一定规范)
实体内容
程序处理结果,浏览器会解析其中的数据,生成响应的页面
(3)两种请求方式
1)get
a.哪一些情况下,浏览器会发送get请求
1.直接输入地址
2.点击链接
3.表单form默认提交方式为get
b.特点:
b1.将请求参数添加到请求资源路径的后面,但是由于请求行只能发送2K的数据,因此get只能提交少量的数据,
b2:会将请求参数显示在浏览器地址栏,不安全
例如路由器就会记录了包含参数的请求地
2)post
a.设置表单的method为post之后浏览器就会发送post请求了。
b.特点
b1.会将请求参数添加到实体内容中,可以提交大量的数据
b2.不会将请求数据显示在浏览器地址栏,相对安全

二、重定向
(1)什么是重定向
服务器通知浏览器向一个新的地址发送请求
注:服务器可以发送一个302状态码和一个location消息头,改消息头包含一个地址,称之为重定向地址,浏览器收到后向重定向地址发请求
(2)如何重定向
a.url就是重定向地址
b.重定向之前,容器会先清空response对象中保存的数据
三、Servlet的生命周期
1)什么是Servlet的生命周期
容器如何创建Servlet对象,如何对其进行初始化处理,如何调用其方法来处理请求,以及如何销毁该对象的整个过程
2)分成那几个阶段
1)实例化
a.什么是实例化
容器调用Servlet的构造器创建相应的对象
b.什么情况下实例化
情况1:容器收到请求后,根据url创建相应的Servlet构造器,创建实例。
注:容器只会创建一个实例
情况2:容器启动之后立即创建。
(在Web.xml 中添加1参数值是一个大于零的整数,越小的优先级越高)
2)初始化
容器调用Servlet对象的init方法,该方法只会执行一次,给Servlet分配一些资源。
3)就绪
多次执行service方法
HttpService service()
4)销毁
destroy()一次

3)几个相关的类和接口
1) Servlet接口
init
service
destroy
2) GenericServlet抽象类
实现了Servlet接口中的抽象方法(init,destroy)
3) HttpServlet抽象类
继承GenericServlet抽象类,实现了service方法

0 0
原创粉丝点击