您的位置:首页 > 其它

Servlet的三个基本方法

2007-01-24 14:42 381 查看
 

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

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

1.init()方法

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

public void init(ServletConfig config) throws ServletException;

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

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

2。Servlet()方法

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对象包含返回给客户机的信息。

3。destroy()方法

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

public void destroy();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: