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