位置:首页 > > JSP生命周期

JSP生命周期

理解关键JSP中的低层级功能就是了解简单的生命周期。

一个JSP的生命周期可以被定义为从它的创作,直到它类似于一个servlet的生命周期,这是需要编译JSP转换成Servlet一个额外的步骤销毁的整个过程。

以下是一个JSP的执行路径

  • 编译

  • 初始化

  • 执行

  • 清除

JSP的生命周期分为四个主要阶段是非常相似的Servlet的生命周期,并有如下几要点:

JSP Life Cycle

JSP 编译:

当浏览器请求一个JSP,JSP引擎首先检查它是否需要编译页面。如果页面从来没有被编译,或者如果JSP已经被修改,因为它是最后一个编译JSP引擎编译的页面。

编译过程包括三个步骤:

  • 解析JSP。

  • 打开JSP成servlet。

  • 编译这个servlet。

JSP初始化:

当一个容器加载一个JSP它的任何服务请求之前调用jspInit()方法。如果您需要执行JSP特定的初始化,覆盖jspInit()方法:

public void jspInit(){
  // 初始化代码
}

通常情况下初始化只进行一次,并在 servlet的 init方法中,一般初始化数据库连接,打开的文件,并在jspInit方法建立查找表。

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等。

JSP 清理:

JSP的生命周期销毁阶段代表当JSP被删除所使用容器。

jspDestroy()方法是等价JSP servlet的destroy方法。覆盖jspDestroy当您需要执行任何清理,如释放数据库连接或关闭打开的文件。

jspDestroy()方法有以下形式:

public void jspDestroy()
{
   // Your cleanup code goes here.
}