在本章中,我们将讨论和了解jsp的生命周期。了解jsp低级功能的关键在于了解其遵循的简单生命周期。
jsp生命周期被定义为从创建到破坏的过程。这类似于一个servlet生命周期,需要一个额外的步骤来将jsp编译成servlet。
jsp执行过程
以下是jsp遵循的过程 -
jsp生命周期的四个主要阶段与servlet生命周期非常相似。以下描述了四个阶段 -
1.jsp编译
当浏览器请求jsp时,jsp引擎首先检查是否需要编译页面。如果页面从未被编译,或者jsp从上一次编译以来jsp文件代码已被修改,那么jsp引擎将会编译页面。
编译过程包括三个步骤 -
- 解析jsp。
- 将jsp转换为servlet。
- 编译servlet。
2.jsp初始化
当容器加载jsp时,它会在处理任何请求之前调用jspinit()方法。 如果需要执行特定于jsp的初始化,那么可以覆盖jspinit()方法 -
public void jspinit(){ // initialization code... }
通常,初始化仅执行一次,并且与servlet的init()方法一样,一般会在jspinit()方法中初始化数据库连接,打开文件和创建查找表。
3.jsp执行
jsp生命周期的这个阶段表示所有与请求的交互,直到jsp被销毁为止。
每当浏览器请求jsp并且页面已被加载和初始化时,jsp引擎将调用jsp中的_jspservice()方法。
_jspservice()方法以httpservletrequest和httpservletresponse为参数,如下所示:
void _jspservice(httpservletrequest request, httpservletresponse response) { // service handling code... }
根据请求调用jsp的_jspservice()方法。它负责生成请求的响应,此方法还负责生成对所有七种http方法的响应,即get,post,delete等。
4.jsp清理
jsp生命周期的清理阶段表示当jsp被容器从使用中移除时。
jspdestroy()方法是等效于servlet的destroy方法的jsp方法。当需要执行清理工作时,可以覆盖jspdestroy()方法,如:释放数据库连接或关闭打开的文件。
jspdestroy()方法具有以下形式 -
public void jspdestroy() { // your cleanup code goes here. }
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!