Servlet的三个基本方法

简介:

Servlet的生命周期是一种非常简的面向对象的设计.servlet首先被创建并进行初始化,然后开始对零人或多个请求提供服务,直至关闭为止.此时,servlet停止运行,所有的垃圾被收集起来.这种设计解释了为什么servlet是比CGI好的换代技术:servlet只须加载一次,它驻留内存中,并对请求提供服务

       javax.servlet.Servlet接口说明了这个框架结构.Servlet接口定义了生命周期方法,这些方法是init()service()destroy()方法。

 

1init()方法

       Init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法。在init()方法中,servlet创建和初始化它在处理请求时需要用到的资源。init()方法的语法定义如下:

       public void init(ServletConfig config) throws ServletException;

init()方法使用ServletConfig对象作为参数.用户应当保存这个对象,以便在后面引用。实现这一点最通用的方法是让init()方法调用super.init(),并把ServletConfig对象传送给它

       如果servlet不能对处理请求所需要的资源进行初始化,init()方法将抛出ServletException异常

 

2Servlet()方法

       Servlet()方法处理客户机发出的所有请求。在init()方法执行之前,它无法开始对请求提供服务,通常,我们不能直接实现这个方法,除非对GenerieServlet抽象类进行扩展。

       实现service()方法最通用的办法是在HttpServlet类中实现。HttpServlet类通过扩展GenericServlet实现Servlet接口,而service()方法通过确定请求类型和调用适当的方法,支持标准的HTTP/1.1请求。service()方法的语法定义如下:

       Public void service(ServletRequest req,ServletResponse res)

       Throws ServletException,IOException;

service()方法实现了请求各响应过程,ServletRequest对象包含服务请求信息,并对客户机提供的信息进行封装。ServletResponse对象包含返回给客户机的信息。

3destroy()方法

       destroy()方法标志servlet生命周期的结束。当服务需要关闭时,它调用servletdestroy()方法。此时,在init()方法中创建的任何资源都应该被清除和释放。如果有打开的数据库连接,应当在此处保存任何在下一次加载时需要用到的永久性信息。destroy()方法的语法定义非常简单,但我们还是在下列了出来:

       public void destroy();

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2007/01/24/629201.html如需转载请自行联系原作者


kenty

相关文章
|
6月前
Servlet方法介绍及体系结构
Servlet方法介绍及体系结构
54 0
|
5月前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
|
6月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
66 2
|
6月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
109 2
|
缓存 Java
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
605 0
为什么不重写Servlet中的Service()方法
为什么不重写Servlet中的Service()方法
Servlet Cookie 方法
Servlet Cookie 方法
57 0
|
Java 容器
Servlet 过滤器方法
Servlet 过滤器方法
80 0
QGS
|
容器
浅谈Tomcat9之Servlet-request获取请求参数及常用方法
//获取Map集合中所有的key Enumeration<String> getParameterNames();
QGS
148 0