JSP - 生命周期

在本章中,我们将讨论JSP的生命周期.理解JSP的低级功能的关键是理解它们遵循的简单生命周期.

JSP生命周期被定义为从创建到销毁的过程.这类似于servlet生命周期,需要额外的步骤将JSP编译成servlet.

JSP遵循的路径

以下是JSP : 后面的路径;

  • 编译

  • 初始化

  • 执行

  • 清理

JSP生命周期的四个主要阶段非常相似到Servlet生命周期.下面描述了四个阶段 :

JSP生命周期

JSP编译

当浏览器要求JSP时,JSP引擎首先检查它是否需要编译页面.如果页面从未编译过,或者JSP自上次编译后已被修改,则JSP引擎会编译页面.

编译过程包括三个步骤 :

  • 解析JSP.

  • 将JSP转换为servlet.

  • 编译servlet.

JSP初始化

当容器加载JSP时,它会调用

public void jspInit(){
   // Initialization code...
}

通常,初始化只执行一次,与servlet init方法一样,你通常初始化数据库连接,打开文件,并在jspInit方法中创建查找表.

JSP执行

JSP生命周期的这个阶段表示在JSP被销毁之前与请求的所有交互.

每当浏览器请求JSP并且页面已经加载并初始化时,JSP引擎就会调用 _jspService() JSP中的方法.

_jspService()方法将 HttpServletRequest HttpServletResponse 作为其参数,如下所示;

void _jspService(HttpServletRequest request, HttpServletResponse response) {
   // Service handling code...
}

_jspService()方法JSP是根据请求调用的.这负责为该请求生成响应,此方法还负责生成对所有七种HTTP方法的响应,即 GET,POST,DELETE 等.

JSP清理

JSP生命周期的销毁阶段表示从容器中删除JSP的时间.

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

jspDestroy()方法具有以下形式 :

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