三九宝宝网宝宝百科宝宝知识

叙述servlet的生命周期过程以及过程中的主要方法及其作用

04月12日 编辑 39baobao.com

[外痔的诊断以及切除术的过程与方法]1)依据病史及临床表现。2)检查可见肛缘肿块,呈紫色圆形,边界清楚,质硬,有压痛o3)肛周皮肤皱折增大,混合痔切除术⑴提起痔核,切开皮肤⑵分离外痔⑶分离内痔后结扎上端⑷切断后加...+阅读

生命周期:(1)加载和实例化(2)初始化(3)请求处理(4)服务终止

方法及作用:

(1) init() 方法

在e68a84e8a2ad62616964757a686964616f31333332613666 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。 可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。

(2) service() 方法

service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请求方法为 GET,则缺省情况下就调用 doGet() 。Servlet 应该为 Servlet 支持的 HTTP 方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

(3)doGet()方法

当一个客户通过HTML 表单发出一个HTTP GET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用doGet()方法。

(4)doPost()方法

当一个客户通过HTML 表单发出一个HTTP POST请求时,doPost()方法被调用。与POST请求相关的参数作为一个单独的HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用doPost()方法。

(5) destroy() 方法

destroy() 方法仅执行一次,即在服务器停止且卸装Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在文件中。另一个示例是关闭数据库连接。

当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。一个Servlet 在运行service() 方法时可能会产生其它的线程,因此请确认在调用 destroy() 方法时,这些线程已终止或完成。

(6) GetServletConfig()方法

GetServletConfig()方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和ServletContext。ServletContext 接口提供有关servlet 的环境信息。

(7) GetServletInfo()方法

GetServletInfo()方法是一个可选的方法,它提供有关servlet 的信息,如作者、版本、版权。

当服务器调用sevlet 的Service()、doGet()和doPost()这三个方法时,均需要 "请求"和"响应"对象作为参数。"请求"对象提供有关请求的信息,而"响应"对象提供了一个将响应信息返回给浏览器的一个通信途径。

javax.servlet 软件包中的相关类为ServletResponse和ServletRequest,而javax.servlet.http 软件包中的相关类为HttpServletRequest 和 HttpServletResponse。Servlet 通过这些对象与服务器通信并最终与客户机通信。Servlet 能通过调用"请求"对象的方法获知客户机环境,服务器环境的信息和所有由客户机提供的信息。Servlet 可以调用"响应"对象的方法发送响应,该响应是准备发回客户机的。

说出Servlet的生命周期并说出Servlet和CGI的区别

Servlet的生命周期分为5个阶段:实例化:Servlet容器创建Servlet类的实例。初始化:该容器调用init()方法,通常会申请资源。服务:由容器调用service()方法,(也就是doGet()和doPost())。破坏:在释放Servlet实例之前调用destroy()方法,通常会释放资源。不可用:释放内存的实例。概括来讲,Servlet可以完成和CGI相同的功能。CGI(CommonGatewayInterface通用网关接口)程序来实现数据在Web上的传输,使用的是如Perl这样的语言编写的,它对于客户端作出的每个请求,必须创建CGI程序的一个新实例,这样占用大量的内存资源。由此才引入了Servlet技术。Servlet是一个用java编写的应用程序,在服务器上运行,处理请求信息并将其发送到客户端。对于客户端的请求,只需要创建Servlet的实例一次,因此节省了大量的内存资源。

Servlet在初始化后就保留在内存中,因此每次作出请求时无需加载。 CGI应用开发比较困难,因为它要求程序员有处理参数传递的知识,这不是一种通用的技能。CGI不可移植,为某一特定平台编写的CGI应用只能运行于这一环境中。每一个CGI应用存在于一个由客户端请求激活的进程中,并且在请求被服务后被卸载。这种模式将引起很高的内存、CPU开销,而且在同一进程中不能服务多个客户。 Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用ServletTag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。 Servlet对CGI的最主要优势在于一个Servlet被客户端发送的第一个请求激活,然后它将继续运行于后台,等待以后的请求。每个请求将生成一个新的线程,而不是一个完整的进程。

多个客户能够在同一个进程中同时得到服务。一般来说,Servlet进程只是在WebServer卸载时被卸载。...

谁能详细的告诉我有关servlet生命周期的相关说明

Servlet生命周期Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示。Servlet的生命周期包含了下面4个阶段:

(1)加载和实例化Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到需要这个Servlet来响应第一个请求时,创建Servlet实例。当Servlet容器启动后,它必须要知道所需的Servlet类在什么位置,Servlet容器可以从本地文件系统、远程文件系统或者其他的网络服务中通过类加载器加载Servlet类,成功加载后,容器创建Servlet的实例。因为容器是通过Java的反射API来创建Servlet实例,调用的是Servlet的默认构造方法(即不带参数的构造方法),所以我们在编写Servlet类的时候,不应该提供带参数的构造方法。

(2)初始化在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象。初始化的目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,如建立数据库的连接,获取配置信息等。对于每一个Servlet实例,init()方法只被调用一次。在初始化期间,Servlet实例可以使用容器为它准备的ServletConfig对象从Web应用程序的配置信息(在web.xml中配置)中获取初始化的参数信息。在初始化期间,如果发生错误,Servlet实例可以抛出ServletException异常或者UnavailableException异常来通知容器。ServletException异常用于指明一般的初始化失败,例如没有找到初始化参数;而UnavailableException异常用于通知容器该Servlet实例不可用。例如,数据库服务器没有启动,数据库连接无法建立,Servlet就可以抛出UnavailableException异常向容器指出它暂时或永久不可用。

(3)请求处理Servlet容器调用Servlet的service()方法对请求进行处理。要注意的是,在service()方法调用之前,init()方法必须成功执行。在service()方法中,Servlet实例通过ServletRequest对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用ServletResponse对象的方法设置响应信息。在service()方法执行期间,如果发生错误,Servlet实例可以抛出ServletException异常或者UnavailableException异常。如果UnavailableException异常指示了该实例永久不可用,Servlet容器将调用实例的destroy()方法,释放该实例。此后对该实例的任何请求,都将收到容器发送的HTTP 404(请求的资源不可用)响应。如果UnavailableException异常指示了该实例暂时不可用,那么在暂时不可用的时间段内,对该实例的任何请求,都将收到容器发送的HTTP 503(服务器暂时忙,不能处理请求)响应。

(4)服务终止当容器检测到一个Servlet实例应该从服务中被移除的时候,容器就会调用实例的destroy()方法,以便让该实例可以释放它所使用的资源,保存数据到持久存储设备中。当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收。如果再次需要这个Servlet处理请求,Servlet容器会创建一个新的Servlet实例。在整个Servlet的生命周期过程中,创建Servlet实例、调用实例的init()和destroy()方法都只进行一次,当初始化完成后,Servlet容器会将该实例保存在内存中,通过调用它的service()方法,为接收到的请求服务。

以下为关联文档:

生命周期理论的主要内容是什么个人生命周期收支曲线 多数人偏好一生均衡消费,壮年阶段多余的收入通常用于偿还少年时期的债务或储蓄起来用于养老用公式可以表示为:应该是(1+r)的t次方整个再减去1 消费者的消...

生命的进化过程地球生命的进化文明均由低级生物阶段进化到高级生物阶段的过程, 在生命的进化过程中,物质和意识是生命进化的能量源泉,没有物质和意识也就没有生命创生的根基,也没有生命进化文...

ppt在教学过程中的主要作用是什么浅谈课堂教学中PowerPoint的运用 作为一个在中学化学教学中已经耕耘了三十多年的老教师,对日常教学工作自然是驾轻就熟的。但面对信息时代的汹涌浪潮,特别是近几年上海现代教...

生命周期的理论方法生命周期理论有两种主要的生命周期方法——一种是传统的、相当机械的看待市场发展的观点(产品生命周期/行业生命周期);另外一种更富有挑战性,观察顾客需求是怎样随着时间演变而...

病毒的化学组成及其生命形成过程病毒主要由核酸和蛋白质外壳组成。 病毒的生命活动很特殊,对细胞有绝对的依存性。其存在形式有二:一是细胞外形式,一是细胞内形式。存在于细胞外环境时,则不显复制活性,但保持感...

如何理解直觉灵感和想象力再创新过程中的意义和作用直觉是一种心理现象,显现为突然闯入脑际的“闪念”,具有偶然性、突发性和深刻性的特征,突然产生于某一随机过程,是对事物规律(实质)的掌握。从科学认识论的视角加以研究,可以更清晰...

托福在申请美国奖学金过程中的作用是什么美国大学奖学金的发放通常遵循三个原则:给最需要钱的人;给最优秀的人;给学校或导师最需要的人。这样,与托福的微妙关系就彰显出来了。 给最需要的人:无疑,每个去美国读书的学生都...

android大牛帮忙解答一下View的生命周期过程onFinishInflate() 当View中所有的子控件均被映射成xml后触发 onMeasure(int, int) 确定所有子元素的大小 onLayout(boolean, int, int, int, int) 当View分配所有的子元素的...

科学思维方法中的科学实验方法及其作用考试题详解急科学思维方法中的科学实验方法及其作用考试题详解急,科学研究方法与论文写作怎么考啊:归纳法。归纳论证是一种由个别到一般的论证方法。它通过许多个别的事例或分论点,然后归纳...

推荐阅读
图文推荐