您当前的位置:首页 > 计算机 > 编程开发 > Java

JSP生命周期

时间:10-11来源:作者:点击数:

理解JSP底层的关键在于理解JSP所遵循的生命周期。

JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件翻译成servlet。

JSP的生命周期主要包括:编译、初始化、执行和清理,请看下图:

JSP编译

当浏览器请求JSP页面时,JSP引擎首先会检查是否需要编译该文件。如果该文件没有被编译过,或者上次编译后被更改过,则重新编译。

编译的过程主要包括:

  • 解析JSP文件;
  • 将JSP文件转为servlet;
  • 编译servlet。

JSP初始化

当容器载入JSP文件后,首先会调用 jspInit() 方法进行初始化工作。

如果你希望执行特殊的初始化任务,覆盖 jspInit() 方法就可以,像下面这样:

public void jspInit(){
    // 初始化代码
}

一般来讲JSP只进行一次初始化,servlet也是如此。你可以在 jspInit() 方法中做一些铺垫性的工作,例如打开数据库、打开文件或创建查询表。

JSP执行

这是最重要的一个阶段,JSP从这里开始处理用户请求,直到被销毁。

当JSP页面初始化完成后,容器会调用 _jspService() 方法。_jspService() 方法需要一个 HttpServletRequest 对象和一个 HttpServletResponse 对象作为它的参数,像下面这样:

void _jspService( HttpServletRequest request, HttpServletResponse response ){
    // 处理用户请求的代码
}

每次请求,_jspService() 方法都会被调用一次并生成响应的内容(HTML代码)。

JSP清理

JSP的销毁阶段描述了当一个JSP页面从容器中被移除时所发生的一切。

JSP销毁阶段会调用 jspDestroy() 方法,等价于 Servlet 中的 destroy() 方法。

如果你希望在最后执行特殊的清理工作,如关闭数据库连接、关闭打开的文件等,覆盖 jspDestroy() 方法即可,像下面这样:

public void jspDestroy(){
    // 执行清理工作的代码
}
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门