目录

JSP - 生命周期( Lifecycle)

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

JSP生命周期被定义为从创建到销毁的过程。 这类似于servlet生命周期,其中包含将JSP编译为servlet所需的附加步骤。

JSP遵循的路径

以下是JSP遵循的路径 -

  • Compilation
  • Initialization
  • Execution
  • Cleanup

JSP生命周期的四个主要阶段与Servlet生命周期非常相似。 以下描述了四个阶段 -

JSP生命周期

JSP编译

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

编译过程包括三个步骤 -

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

JSP初始化

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

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

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

JSP执行

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

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

_jspService()方法将HttpServletRequestHttpServletResponse作为其参数,如下所示 -

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

JSP的_jspService()方法是在请求的基础上调用的。 这负责为该请求生成响应,并且该方法还负责生成对所有七种HTTP方法的响应,即GET, POST, DELETE等。

JSP清理

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

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

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

public void jspDestroy() {
   // Your cleanup code goes here.
}
↑回到顶部↑
WIKI教程 @2018