发布于 2015-08-17 14:45:01 | 283 次阅读 | 评论: 0 | 来源: 网络整理
理解关键JSP中的低层级功能就是了解简单的生命周期。
一个JSP的生命周期可以被定义为从它的创作,直到它类似于一个servlet的生命周期,这是需要编译JSP转换成Servlet一个额外的步骤销毁的整个过程。
以下是一个JSP的执行路径
编译
初始化
执行
清除
JSP的生命周期分为四个主要阶段是非常相似的Servlet的生命周期,并有如下几要点:
当浏览器请求一个JSP,JSP引擎首先检查它是否需要编译页面。如果页面从来没有被编译,或者如果JSP已经被修改,因为它是最后一个编译JSP引擎编译的页面。
编译过程包括三个步骤:
解析JSP。
打开JSP成servlet。
编译这个servlet。
当一个容器加载一个JSP它的任何服务请求之前调用jspInit()方法。如果您需要执行JSP特定的初始化,覆盖jspInit()方法:
public void jspInit(){
// Initialization code...
}
通常情况下初始化只进行一次,并在 servlet的 init方法中,一般初始化数据库连接,打开的文件,并在jspInit方法建立查找表。
JSP的生命周期的这个阶段代表请求的所有交互,直到JSP被破坏。
当浏览器请求一个JSP与页面已经被加载并初始化时,JSP引擎调用JSP中的_jspService() 方法。
在_jspService()方法接受一个HttpServletRequest 和 HttpServletResponse 作为它的参数如下:
void _jspService(HttpServletRequest request,
HttpServletResponse response)
{
// Service handling code...
}
调用一个JSP的_jspService() 方法一次,每一个请求,并负责生成该请求的响应,这方法也负责产生反应,所有七个HTTP方法,即 GET,POST,DELETE等。
JSP的生命周期销毁阶段代表当JSP被删除所使用容器。
jspDestroy()方法是等价JSP servlet的destroy方法。覆盖jspDestroy当您需要执行任何清理,如释放数据库连接或关闭打开的文件。
jspDestroy()方法有以下形式:
public void jspDestroy()
{
// Your cleanup code goes here.
}