互联网通讯学习笔记2

Servlet对象生命周期:

1.网站中所有的Servlet接口实现类的实例对象,只能有Http服务器负责创建。开发人员不能手动创建Serlet接口实现类的实例对象

2.在默认的情况下,Http服务器接受到对于当前Servlet接口实现类第一次请求是自动创建这个Servlet接口实现类的实例对象

在手动配置情况下,要求Http服务器在启动是自动创建某个Servlet接口实现类的实例对象

<servlet>

        <servlet-name>mm</servlet-name>

        <servlet-class>com.bjpowernode.controller.OneServlet</servlet-class>

        <load-on-startup>1<load-on-startup>

</servlet>

3.在Http服务器运行期间,一个Servlet接口实现类只能被创建出一个实例对象

4.在Http服务器关闭时,自动将网站中所有的Servlet对象进行销毁

HttpServletResponse接口:

1.介绍:

        1)HttpServletResponse接口来自于Servlet规范中,在Tomcat中存在servlet-api.jar

        2) HttpServletResponse接口实现类有Http服务器负责提供

        3)HttpServletResponse接口负责将doGet/doPost方法执行结果写入到响应体交给浏览器

        4)开发人员习惯于将HttpServletResponse接口修饰的对象称为响应对象

2.主要功能:

        1)将执行结果屹二进制形式写入到响应体

        2)设置响应头中content-type属性值,从而控制浏览器实用对应编译器将响应体二进制数据编译成文字,图片,视屏,命令

        3)设置响应头中location属性,将一个请求地址复制的给location,从而控制浏览器向指定服务器发送请求

 

 

 HttpServletRequest接口

1.介绍:

        1)HttpServletRequest接口来自于Servlet规范中,在Tomcat中存在servlet-api.jar

        2)HttpServletRequest接口实现类由Http服务器负责提供

        3)HttpServletRequest接口负责在doGet/doPost方法运行时读取Http请求协议包中信息

        4)开发人员习惯于将HttpServletRequest接口修饰对象称为请求对象

2.作用:

        1)可以读取Http请求协议包中请求行信息

        2)可以读取保存在Http请求协议包中请求头或者请求体中请求参数信息

        3)可以替代浏览器向Http服务器申请资源文件调用

 

 请求对象和响应对象生命周期

1.在Http服务器接受到浏览器发送的Http请求协议包之后自动为当前的Http请求协议包生成一个请求对象和一个响应对象

2.在Http服务器调用doGet/doPost方法时,负责将请求对象和响应对象作为实参传递到方法,保证doGet/doPost正确执行

3.在Http服务器准备推送Http响应协议包之前,负责将本次请求关联的请求对象和响应对象销毁

 

欢迎资源文件

1.前提:

用户可以记住网站名,但是不会记住网站资源文件名

2.默认欢迎资源文件:

用户发送一个针对某个网站的默认请求时此时有Http服务器自动从当前网站返回的资源文件

正常请求:http://localhost:8080/myweb/index.html

默认请求:http://localhost:8080/myweb/

3.Tomcat对于默认欢迎资源文件定位规定

 1)规则位置:Tomcat安装位置/conf/web.xml

2)规则命令:<welcome-file-list>

                                <welcome-file>index.html</welcome-file>

                                <welcome-file>index.html</welcome-file>

                                <welcome-file>index.jsp</welcome-file>

                        </welcome-file-list>

多个Servlet之间调用规则:

1.前提条件:

        某些来自于浏览器发送请求,往往需要服务端中多个Servlet协同处理。但是浏览器一次只能访问一个Servlet,导致用户需要手动通过浏览器发起多次请求才能得到服务。这样增加用户获得服务难度,导致用户放弃访问当前网站

2.提高用户使用感受规则:

        无论本次请求涉及到多少个Servlet,用户只需要手动通知浏览器发起一次请求即可

3.多个Servlet之间调用规则:

        1)重定向解决方案

        2)请求转发解决方案

重定向解决方案:

1.工作原理:用户第一次通过手动方式通知浏览器OneServlet。OneServlet工作完毕后,将第二个Servlet地址写入响应头location属性中,导致Tomcat将302状态码写入到状态行。

2.实现命令:

respomse.sendRedirect("请求地址")

将地址写入到响应包中响应头中location属性

3.特征:

1)请求地址:既可以把当前网站内部的资源文件地址发送给浏览器,也可以吧其他网站资源文件

2)请求次数:地址发送给浏览器至少发送两次请求,但是只有第一次请求是用户手动发送。后续请求都是浏览器自动发送的、

3)请求方式:重定向解决方案中,通过地址栏通知浏览器发起下一次请求,因此通过重定向解决方案调用的资源文件接受的请求方式一定是GET

4.缺点:

重定向解决方案需要在浏览器与服务器之间进行多次往返,大量时间消耗在往返次数上,增加用户等待服务器时间

请求转发方案:

1.原理:用户第一次通过手动方式要求浏览器访问第一个Servlet。OneServlet工作完毕后,通过当前的请求对象代替浏览器想Tomcat发送请求,申请调用TwoServlet。Tomcat在接受到这个请求之后,自动调用TwoServlet来完成剩余工作

2.实现命令:请求对象代替浏览器向Tomcat发送请求:

//1.通过当前请求对象生成对象生成资源文件申请报告对象

RequestDispatcher report=reques.getRequestDispatcher("/资源文件名")

//2.讲报告对象发送给Tomcat

report.forward(当前请求对象,当前响应对象)

3.优点:

1)无论本次请求涉及到多少个Servlet,用户只需要手动通过浏览器发送一次请求

2)Servlet之间调用发生在服务端计算机上,节省服务端与浏览器之间往返次数增加处理服务速度

4特征:

1)请求次数在请求转发过程中,浏览器只发送一次请求

2)请求地址只能向Tomcat服务器申请调用当前网站下资源文件地址

3)请求方式 在请求转发过程中,浏览器只发送一个了个Http请求协议包。参与本次请求的所有Servlet共享同一个请求协议包,因此这些Servlet接收到请求方式与浏览器发送的请求方式保持一致

 

 多个Servlet之间数据共享实现方案:

1.数据共享:OneServlet工作完毕后,将产生数据交给TwoServlet来使用

2.Servlet规范中提供四种数据共享方案

        1.ServletContext接口

        2.Cookie类

         3.HttpSession接口

        4.HttpServletRequest接口

.ServletContext接口:

.ServletContext全局作用域对象生命周期:

1)在Http服务器电启动过程中,自动为当前网站在内存中创建一个全局作用域对象

2)在Http服务器运行期间事,一个网站只有一个全局作用域对象

3)在Http服务器运行期间,全局作用域对象一直处于存活状态

4)在Http服务器准备关闭时,负责将当前网站中全局作用域对象进行销毁处理

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值