当前位置:首页 > JSP教程 > JSP基础教程

JSP生命周期

在本章中,我们将讨论和了解jsp的生命周期。了解jsp低级功能的关键在于了解其遵循的简单生命周期。

jsp生命周期被定义为从创建到破坏的过程。这类似于一个servlet生命周期,需要一个额外的步骤来将jsp编译成servlet。

jsp执行过程

以下是jsp遵循的过程 -

  • 编译
  • 初始化
  • 执行
  • 清理
  • jsp生命周期的四个主要阶段与servlet生命周期非常相似。以下描述了四个阶段 -

    1.jsp编译

    当浏览器请求jsp时,jsp引擎首先检查是否需要编译页面。如果页面从未被编译,或者jsp从上一次编译以来jsp文件代码已被修改,那么jsp引擎将会编译页面。

    编译过程包括三个步骤 -

    • 解析jsp。
    • 将jsp转换为servlet。
    • 编译servlet。

    2.jsp初始化

    当容器加载jsp时,它会在处理任何请求之前调用jspinit()方法。 如果需要执行特定于jsp的初始化,那么可以覆盖jspinit()方法 -

    public void jspinit(){
       // initialization code...
    }

    通常,初始化仅执行一次,并且与servlet的init()方法一样,一般会在jspinit()方法中初始化数据库连接,打开文件和创建查找表。

    3.jsp执行

    jsp生命周期的这个阶段表示所有与请求的交互,直到jsp被销毁为止。

    每当浏览器请求jsp并且页面已被加载和初始化时,jsp引擎将调用jsp中的_jspservice()方法。

    _jspservice()方法以httpservletrequest和httpservletresponse为参数,如下所示:

    void _jspservice(httpservletrequest request, httpservletresponse response) {
       // service handling code...
    }

    根据请求调用jsp的_jspservice()方法。它负责生成请求的响应,此方法还负责生成对所有七种http方法的响应,即get,post,delete等。

    4.jsp清理

    jsp生命周期的清理阶段表示当jsp被容器从使用中移除时。

    jspdestroy()方法是等效于servlet的destroy方法的jsp方法。当需要执行清理工作时,可以覆盖jspdestroy()方法,如:释放数据库连接或关闭打开的文件。

    jspdestroy()方法具有以下形式 -

    public void jspdestroy() {
       // your cleanup code goes here.
    }


    【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!