zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    编写OracleMembershipProvider,让SharePoint2007使用Oralce中的用户数据实现Form验证。 (第三天)
    学习《Building Applications with FME Objects》 之一 关于FME Objects
    我们在这里期待~~
    用python写fme数据转换脚本
    学习《Building Applications with FME Objects》 之七 坐标系统
    菜鸟笔记Linq初学 top(2)
    菜鸟笔记Linq初学 top(1)
    Sqlserver2008R2搭建本地服务器
    Python3之列表、元组和购物车程序练习
    Python3之字符串
  • 原文地址:https://www.cnblogs.com/kentyshang/p/629201.html
Copyright © 2011-2022 走看看