`

JSP学习之jsp的生命周期

jsp 
阅读更多
参考w3school菜鸟教程
理解JSP底层功能的关键就是理解他们所遵循的生命周期
JSP的生命周期就是从创建到销毁的过程,类似于Servlet的生命周期!区别于Servlet的在于JSP的生命周期包括将JSP文件编译成Servlet

以下是生命周期所走的几个阶段:

·编译阶段
  Servlet容器编译Servlet源文件,生成Servlet类
·初始化阶段
  加载与JSP对应的Servlet类,创建实例,调用其初始化方法
·执行阶段
  调用与JSP对应的Servlet实例的服务方法
·销毁阶段
  调用与JSP对应的Servlet实例的销毁方法,然后销毁实例

JSP的四个主要阶段和Servlet是非常相似的,下面是图解




JSP编译

当浏览器请求jsp页面时,jsp引擎首先检查是否需要编译这个文件.如果这个文件没有被编译过,或者上次编译后被更改过,那么就编译这个文件

编译主要包括三个步骤:
                        1.解析JSP文件
                        2.将JSP转换成Servlet
                        3.编译Servlet


JSP的初始化

容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit方法.如果您需要执行自定义的JSP初始化任务,重写jspInit()方法就行了.
一般来讲程序只初始化一次,servlet也是如此。通常情况下您可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表


JSP的执行
在这一阶段,描述了JSP整个生命周期中一切与请求相关的交互行为,直到被销毁
当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法。
_jspService()方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数,就像下面这样:

void _jspService(HttpServletRequest request,
                 HttpServletResponse response)
{
   // 服务端处理代码
}

_jspService()方法在每个request被调用一次,并且负责产生与之对应的response.并且它还负责产生所有7个HTTP方法的回应,比如GET、POST、DELETE等等。

JSP的消除


JSP生命周期的销毁阶段描述了JSP从容器中移除所发生的一切
jspDestroy()在JSP方法中等同于Servlet的Destory()方法,当您需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。



其中有段测试的code

<%! %>中声明的是全局变量,不过写前面最好
<% %>中声明的是局部变量。
<%=%>一般表达式,输出某一变量的值


<%@ page contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
	<%!
		private int initVar = 0;
		private int serviceVar = 0;
		private int destroyVar = 0 ;
	%>
	<%!
	 public void jspInit(){
	    initVar++;
	    System.out.println("jspInit(): JSP被初始化了"+initVar+"次");
	  }
	  public void jspDestroy(){
	    destroyVar++;
	    System.out.println("jspDestroy(): JSP被销毁了"+destroyVar+"次");
	  }
	%>
	
	<%
	  	serviceVar++;
	  	System.out.println("_jspService(): JSP共响应了"+serviceVar+"次请求");
	
	  	String content1="初始化次数 : "+initVar;
	  	String content2="响应客户请求次数 : "+serviceVar;
	  	String content3="销毁次数 : "+destroyVar;
	%>
	
	<h1><%=content1 %></h1>
	<h1><%=content2 %></h1>
	<h1><%=content3 %></h1>
</body>
</html>


访问地址,得到如下结果,刷新后响应+1









  • 大小: 76.8 KB
  • 大小: 26.2 KB
  • 大小: 25.6 KB
  • 大小: 6.3 KB
  • 大小: 7.4 KB
分享到:
评论

相关推荐

    SERVLET生命周期与JSP生命周期比较

    SERVLET生命周期与JSP生命周期比较

    JSP的生命周期

    JSP的生命周期.服务器不再把客户端的请求发给JSP

    jsp 生命周期详细介绍

    JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。 以下是JSP生命周期中所走过的几个阶段: 编译阶段:servlet容器编译servlet源文件,生成...

    JSP 程序设计从入门到精通 PDF 教程

     4.2 Servlet规范定义的Servlet 生命周期 70  4.3 JSP/Servlet的重定向技术综述 72  4.3.1 RequestDispatcher.forward() 72  4.3.2 response.sendRedirect() 73  4.4 理解会话 74  4.4.1 会话状态跟踪API...

    JSP的原理、周期、 脚本

    JSP的原理,JSP的原理 jsp生命周期, jsp脚本

    JSP与Servlet 技术总结

    1. Servlet生命周期 9 2. Servlet的方法说明: 10 3. Servlet 在web.xml中的配置 10 4. Servlet元素说明 11 5. 如何写一个Servlet? 11 6. 在web.xml里配置的初始化参数怎么才能读回来? 12 7. 如何获得网页中form...

    JSP(JSP介绍、工作原理、生命周期、语法、指令、行为、avaBean、JavaBean、内置对象的介绍、4种属性范围、应用)

    JSP(JSP介绍、工作原理、生命周期、语法、指令、行为、avaBean、JavaBean、内置对象的介绍、4种属性范围、应用)

    JSP 生命周期

    JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。 以下是JSP生命周期中所走过的几个阶段: 编译阶段: servlet容器编译servlet源文件,生成...

    jsp book3 随书源码

    jsp book 讲解jsp和servlet各个生命周期,请求过程来龙去脉。

    JSP软件工程案例精解

    资源名称:JSP软件工程案例...第2篇“实践·提高”篇以一个公务员信息管理系统为背景,以软件工程生命周期为步骤,讲述了从需求分析到系统发布的全过程设 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    jsp servlet 入门学习资料-新手一看就懂

    10.2.2 Session Bean的生命周期 10.3 Entity Bean 10.3.1 Entity Bean的特性 10.3.2 Entity Bean的生命周期 10.4 EJB的开发 10.4.1 Enterprise JavaBeans的实际处理文件 10.4.2 实现EJBObject文件 10.4.3 ...

    Servlet与JSP核心编程

    同时,读者还将学会如何控制Web应用生命周期中的主要事件,掌握JSTL最佳实践,了解如何构建自定义标签库。此外,《Servlet与JSP核心编程(第2卷 第2版)》还用较多篇幅深入介绍了Jakarta Struts框架。

    Jsp内置对象session总结

    Jsp内置对象session总结:详细介绍,Session机制,原理,生命周期h和Session的主要方法等。

    网页教程《跟姐姐学JSP》

    14.1. 生命周期 14.2. 线程模型 14.3. 在jsp中定义类变量 14.4. jsp九大默认对象 15. 分页 15.1. 数据库分页 15.2. 使用jstl改写分页 16. Never End... 16.1. 对session何时生成的无用讨论 16.2. 对手工将jsp...

    cxloge#RunoobJSP#JSP 教程1

    JSP 开发环境搭建JSP 生命周期JSP 动作元素JSP 隐式对象JSP 客户端请求JSP 服务器响应JSP 表单处理JSP 过滤器JSP Cookie 处理

    JSP2.0技术手册pdf(带示例源码).zip

    2-3 Servlet 的生命周期 2-4 Servlet 范例程序 2-5 Servlet 2.4 的新功能 第三章 JSP 2.0 简介 3-1 JavaServer Pages 技术 3-2 What is JSP 3-3 JSP 与 Servlet 的比较 3-4 JSP 的执行过程 3-5 JSP 与 ASP 和 ASP+ ...

    j2ee17:servlet01:jsp结束,servlet的配置和生命周期

    NULL 博文链接:https://1601844782.iteye.com/blog/2273999

    韩顺平sevlet,jsp视频教程知识点.txt

    视频描述: (-) servlet体系结构的介绍(二) servlet的网络拓扑结构(三) servlet的几个实例(四) servlet的生命周期(五) 一个简单的用户登录系统 韩顺平 j2ee视频实战教程servlet第2讲(下集).wmv 视频描述-) servlet...

Global site tag (gtag.js) - Google Analytics