JSP笔记05——生命周期(转)
原始内容:https://www.tutorialspoint.com/jsp/jsp_life_cycle.htm
在这一章中,我们将讨论JSP的生命周期。
理解JSP低层次功能的关键在于——理解它们所遵循的、最简单的生命周期。
JSP的生命周期就是指“它从创建到销毁”的这一过程。
这个过程和servlet的生命周期很相似,
只不过增加了额外的一步,需要先把JSP编译成servlet。
JSP所遵循的路径
下面就是JSP所遵循的路径 −
- 汇编
- 初始化
- 执行
- 清理
JSP生命周期的4个主要阶段与servlet的生命周期十分相似。4个阶段如下图所示 −

汇编
当一个浏览器请求一个JSP页面的时候,JSP引擎首先检查它是否需要编译这个页面。如果这个页面从未被编译,或者,这个页面已经被修改,JSP引擎将编译这个页面。
这个汇编过程包括以下三步 -
- 解析JSP.
- 把JSP转化为一个servlet.
- 编译servlet.
JSP的初始化
当容器加载一个JSP的时候,最先被调用的是 jspInit() 方法。如果你需要在这个时候做点什么,请重写这个方法 -
public void jspInit(){
// Initialization code...
}
通常,初始化只会被执行一次,在这个时候,你可以:初始化数据库连接、打开某些文件、建立“查询表”等
JSP的执行
这一阶段,JSP将与请求打交道。
每当浏览器请求一个已经被初始化的JSP页面的时候,
JSP引擎将在调用在JSP中的 _jspService() 方法,该方法接收一个 HttpServletRequest 和一个 HttpServletResponse 作为参数,如下所示 -
void _jspService(HttpServletRequest request, HttpServletResponse response) {
// Service handling code...
}
JSP的 _jspService() 方法基于特定的HTTP请求生成相应的响应。这些HTTP请求可能是 GET、POST、DELETE等等。
JSP的清除
当JSP不再被使用的时候,就会被容器移除。
你可以通过覆盖 方法,在JSP清除的时候做点什么,比如说关闭数据库连接,关闭文件啊,诸如此类 -
public void jspDestroy() {
// Your cleanup code goes here.
}
JSP笔记05——生命周期(转)的更多相关文章
- JSP页面的生命周期
JSP页面的生命周期:我们假设要访问的jsp页面是index.jsp.首先,用户发出请求index.jsp:服务器会判断是否是第一次请求:如果是的话,JSP引擎会把该JSP文件转换成为一个Servle ...
- JSP和selevt 生命周期详解(JSP的生命周期和select很像,jsp底层就是一个selevt)
JSP: JSP的生命周期指从创建到销毁的整个过程.分为以下几个阶段: 1:编译阶段:servlet引擎编译servlet源文件,生成servlet类.当浏览器请求JSP页面时,JSP引擎会首先去检查 ...
- Java Web学习笔记-Servle生命周期
Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器停止的时候结束生命周期. 无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servl ...
- JSP Servlet WEB生命周期
[转载] JavaWeb的生命周期是由Servlet容器来控制的总的来说分为三个阶段1.启动阶段:加载web应用相关数据,创建ServletContext对象,对Filter和servlet进行初始化 ...
- Angular 5.x 学习笔记(2) - 生命周期钩子 - 暂时搁浅
Angular 5.x Lifecycle Hooks Learn Note Angular 5.x 生命周期钩子学习笔记 标签(空格分隔): Angular Note on cnblogs.com ...
- [翻译]AKKA笔记 - ACTOR生命周期 - 基本 -5
原文地址:http://rerun.me/2014/10/21/akka-notes-actor-lifecycle-basic/ (请注意这了讨论的生命周期并不包括 preRestart 或者pos ...
- android学习笔记 activity生命周期&任务栈&activity启动模式
activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...
- iOS学习笔记—ViewController/生命周期
ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图.iOS的SDK中提供很多原生ViewController ...
- MVC学习笔记---MVC生命周期
Asp.net应用程序管道处理用户请求时特别强调"时机",对Asp.net生命周期的了解多少直接影响我们写页面和控件的效率.因此在2007年和2008年我在这个话题上各写了一篇文章 ...
随机推荐
- sessionstorage:本地临时存储
HTML5 web存储有两个重要对象: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储(关闭窗口,存储的数据清空) 一般涉 ...
- mediawiki常用设置
修改mediawiki的logo图标 在LocalSettings.php文件中添加或修改以下代码: //$wgLogo = "$wgStylePath/common ...
- Easyui Datagrid扩展fixRownumber方法
首先,从datagrid生成的代码,我们可以发现,在rowNumber上都有特定的class标记,datagrid-cell-rownumber,datagrid-header-rownumber. ...
- jq和thinkphp经常使用的几种ajax
第一种方法 第二种方法 jquery方法: MessageAction.class.php <?php class MessageAction extends Action{ functio ...
- Servlet Session 跟踪
HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录. 但是仍然有以下三种方式来维持 ...
- 安装nextant
1. 安装java sudo apt-get install default-jre 然后用下面语句试试 java -version 2. 下载和解压solr,去https://lucene.apac ...
- (转)Resources和AssetBundle(新旧版)学习
Resources: Resources的缺点:1.与显示Inspector上直接引用相比,Resources使用不方便. 2.不管你Resources上的资源是否调用了,当你发布的时候, ...
- (转)初步认识拓展UnityEditor编辑器定制
初步认识拓展UnityEditor编辑器定制 热度 9529 2015-9-4 18:50 |个人分类:Unity3d| 编辑器, 拓展 我相信无数初学者看别人游戏都经常看到他们的Inspector中 ...
- 【转】ATL提供的所有转换宏
在头文件<atlconv.h>中定义了ATL提供的所有转换宏,如: A2CW (LPCSTR) -> (LPCWSTR) A2W (LPCSTR) -> (LPWSTR ...
- 将场景导出XML或JSON或二进制而且解析还原场景
导出unity场景的全部游戏对象信息,一种是XML一种是JSON. 本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平移与Prefab的名称导出在XML与JSON中.然后解析刚刚导出的XML或JSON ...