zoukankan      html  css  js  c++  java
  • JSP的生命周期

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/life-cycle.html

    JSP生命周期可以被定义为从创建到销毁的整个过程,这类似于一个Servlet的生命周期与一个额外的步骤,该步骤将一个JSP编译成Servlet。

    以下是JSP执行步骤:

    • 编译

    • 初始化

    • 执行

    • 清理

    JSP生命周期的四个主要阶段非常类似于Servlet生命周期,它们如下所示:

    一、JSP编译

    当浏览器请求一个JSP,JSP引擎首先检查是否需要编译页面。如果页面从未被编译,或者JSP自上次编译后被修改了,那么JSP引擎就会编译页面。

    编译过程包括三个步骤:

    • 解析JSP

    • 将JSP转换为Servlet。

    • 编译Servlet。

    二、JSP初始化

    当容器加载JSP时,在响应任何请求之前它会调用jspInit()方法。如果需要执行JSP-specific初始化,那么就覆盖jspInit()方法:

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

    通常初始化只执行一次,Servlet init方法也是只执行一次。一般初始化数据库连接,打开文件,并在jsplnit方法中创建查找表。

    四、JSP执行

    JSP生命周期的这个阶段代表所有的交互请求,直到JSP被摧毁。

    当浏览器请求一个JSP页面时并且该页面被加载并初始化,JSP引擎就会在JSP中调用_jspService()方法。

    _jspService()方法接受一个HttpServletRequest和一个HttpServletResponse作为其参数,如下所示:

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

    每次请求时JSP的_jspService()方法都会被调用,且该方法负责生成请求的响应,并且该方法还负责生成所有七个HTT 方法的反应,即GET、POST、DELETE等。

    五、JSP清理

    JSP生命周期的破坏阶段代表JSP从容器中删除。

    jspDestroy()方法是JSP的相当于Servlet的销毁方法。当需要执行任何清理时,覆盖jspDestroy,比如释放数据库链接或关闭打开的文件。

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

    public void jspDestroy()
    {
       // Your cleanup code goes here.
    }
  • 相关阅读:
    转载:混淆包含SlidingMenu、gson等Android代码的proguard写法
    今天解决的两个问题
    C++中指针和引用的区别
    负载均衡服务器session共享的解决方案 (转载)
    Entity Framework的默认值BUG解决方法
    【转】SAPI中的IspeechRecoContext(接口)
    Sapi 添加语法的文章(转载)
    SAPI训练文件存储位置
    Flask第九篇 Flask 中的蓝图(BluePrint)
    Flask 第八篇 实例化Flask的参数 及 对app的配置
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6943123.html
Copyright © 2011-2022 走看看