博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java web之servlet
阅读量:5252 次
发布时间:2019-06-14

本文共 1507 字,大约阅读时间需要 5 分钟。

                                                                                              入坑必备之servlet(O(∩_∩)O哈!)

  两个问题:是什么?怎么用?

       the first question:what?

         Servlet是sun公司提供的一门用于开发动态web资源的技术,sun公司在其API中提供了一个servlet接口。由此可以理解为原生的servlet是一个接口,提到接口,我们应该想道我们必须去实现它才能被我们使用,servlet这个接口当然也不例外,从概念上讲,servlet是指sun公司提供的这个API接口,约定俗称,现在我们说的servlet是指实现这个接口的类,一般我们说的这个servlet就是指被我们实现的servlet。

     好的第一个问题说完了,servlet是一个接口,而我们平常说的servlet是指实现了这个接口的类。(一句话搞定)

    the second question:how?

    这里我们先谈一下servlet的用途,是谁在使用它?Servlet 是在上运行的小程序(来自百度百科),是服务器在使用它,servlet=Service+Applet,service是指服务,applet是指小程序,servlet就是指服务小程序。(下面所有的servlet是指已经实现servlet接口的servlet小程序)

               接下来,我们说一下servlet它到底怎么用,

    大致分为5个步骤,之后详细讲解每个步骤。

              Servlet小程序是由服务器调用,服务器收到客户端的Servlet访问请求后:

             ①服务器首先检查是否已经首次装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
             ②装载并创建该Servlet的一个实例对象。 
       ③调用Servlet实例对象的init()方法。
       ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
             ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。

             第一步:通常情况下,服务器会对浏览器发出的请求只创建一个servlet对象,这个对象会一直保存在内存中,为后面浏览器发出的请求做出回应,直到你关闭这个网页或者调用servlet的方法退出,首次的意思是指你打开这个网页,直到关闭,退出浏览器,对应的servlet对象就会调用destory()方法,销毁对应的servlet对象。

            第二步:创建一个对应的servlet对象

     第三步:调用对象的初始化方法,

   第四部:由web容器(调用servlet小程序的服务程序)创建一个请求对象(HttpServletRequest)和响应对象(HttpServletResponse),调用servlet小程序的service()方法,并将刚才创建的请求对象和响应对象作为参数传进去,流程请看下图,请注意读取和写入信息的分别是谁,黑色代表请求的过程,蓝色代表响应的过程(图太丑,请见谅!)

 

 

 

 

 

    今天就先写下servlet大致是个什么东西和它的一些用法原理,下次我们在说下servlet小程序包含的几种方法(init();,destory();doget();,dopost();,等方法);

    不足之处欢迎指正,不胜感激!

 

 

 

    

转载于:https://www.cnblogs.com/huangnn/p/7429155.html

你可能感兴趣的文章
Spring3.0 AOP 具体解释
查看>>
我的Hook学习笔记
查看>>
EasyUI DataGrid 中字段 formatter 格式化不起作用
查看>>
海量数据存储
查看>>
js中的try/catch
查看>>
[导入]玫瑰丝巾!
查看>>
自动从网站上面下载文件 .NET把网站图片保存到本地
查看>>
【识记】 域名备案
查看>>
STL uva 11991
查看>>
MY SQL的下载和安装
查看>>
自定义OffMeshLink跳跃曲线
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
简述spring中常有的几种advice?
查看>>
学习Redux之分析Redux核心代码分析
查看>>
ABAP 创建和调用WebService
查看>>
C# 实例化顺序
查看>>
CSS水平垂直居中总结
查看>>
委托又给我惹麻烦了————记委托链的取消注册、获取返回值
查看>>
ps怎么把白色背景变透明
查看>>
gource 安装教程
查看>>