以下内容引用自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.
}

最新文章

  1. Spring事务管理(转)
  2. radialLine 径向线生成器
  3. Numeral.js – 格式化和操作数字的 JavaScript 库
  4. php访问url的四种方式
  5. 在.net桌面程序中自定义鼠标光标
  6. 应用服务器上部署自己的 blog 和 wiki 组件。
  7. MSP430F149学习之路——LED
  8. linux —— 学习笔记(用户管理与权限控制)
  9. C语言---递归反向输出任意长度的字符串
  10. AOJ 2249 Road Construction(Dijkstra+优先队列)
  11. JSP简单的练习-功能标签
  12. linux性能之iostat
  13. 1.QT开发第一个程序
  14. GitHub上传文件或项目的教程
  15. pycharm 配置svn
  16. -Dmaven.multiModuleProjectDirectory system property is not set.
  17. Qt 拖动窗口位置
  18. SmartOS之以太网精简协议栈TinyIP
  19. PHP安装Redis扩展教程
  20. 关于MCU的烧录,下载与其他接口的比较(一)

热门文章

  1. vim插件minibuf配置
  2. 掌握Spark机器学习库-07.6-线性回归实现房价预测
  3. 最新WIN10系统32位和64位纯净版自动激活版1010074 V2015年
  4. CentOS6.8 RPM包安装快速zabbix22
  5. Swift - 值类型与引用类型的初步探究
  6. 类的封装,property特性,类与对象的绑定方法和非绑定方法,
  7. 使用VS Code调试Flutter(检查用户页面)
  8. eclipse如何导出WAR包
  9. 处理半连接SQL自动改写内连接SQL一例
  10. linux性能优化cpu-01性能指标