参考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生命周期比较 #### 一、引言 在现代Web开发中,Servlet和JSP是两种非常重要的技术,它们都属于Java EE平台的一部分,主要用于构建动态Web应用程序。这两种技术各有特点,但又紧密相关,...
JSP页面的生命周期是理解其工作原理的关键之一。本文将详细介绍JSP的生命周期,包括它的两个主要阶段——前端准备阶段与实际运行阶段。 #### 二、前端准备阶段 前端准备阶段是指在JSP页面被首次请求之前所经历的一...
JSP生命周期** JSP的生命周期包括三个阶段:翻译、初始化和服务。翻译阶段将JSP转换为Servlet源码;初始化阶段,Servlet被加载并初始化;服务阶段,Servlet响应客户端请求,生成HTML并返回给浏览器。 **3. JSP内置...
- **生命周期**:JSP页面在首次请求时被转换为Servlet,然后编译成字节码,最后由容器执行生成HTML响应。这个过程包括翻译、初始化、服务和销毁四个阶段。 ### 2. JSP指令 - **page指令**:用于设置整个页面的属性...
通过实践,你可以逐渐理解JSP的运行机制和生命周期。 接下来,学习JSP会涉及到更深入的主题,如隐含对象(例如request、response、session等)、JSP内置对象、EL(Expression Language)表达式、JSTL(JavaServer ...
6. **JSP生命周期**:JSP页面经过编译、实例化、初始化、服务和销毁五个阶段。在服务阶段,每次请求都会创建一个Servlet实例,处理完请求后释放。 **JSP与Servlet的关系** JSP本质上是Servlet的简化版本。当JSP...
2. **JSP生命周期**:从加载到销毁的过程,包括翻译、编译、初始化、服务、销毁等阶段。 3. **内置对象**:如request、response、session、application等,它们提供了与HTTP请求和响应交互的方法。 4. **EL...
1. **JSP基础入门**:这部分会介绍JSP的基本理念,包括JSP页面结构、生命周期、以及如何在服务器上部署和运行JSP应用程序。 2. **JSP基本语法**:讲解JSP的指令(directives)、脚本元素(scriptlets)、表达式...
JSP页面生命周期 JSP页面在服务器上经历编译、初始化、服务和销毁四个阶段。在编译阶段,JSP会被转换为一个Servlet类;在服务阶段,每次请求都会调用该Servlet的service方法。 ### 8. JSP与Servlet的关系 JSP本质...
接着,引擎创建Servlet实例,调用`jspInit()`方法,该方法在整个Servlet生命周期中仅执行一次。 3. **请求处理**:对每个客户端请求,JSP引擎都会创建一个新的线程来处理,以实现多线程并发,提高响应速度。`jsp...
2. **JSP生命周期**: - JSP页面被服务器转换为Servlet,经历初始化、服务、销毁三个阶段。 - 初始化阶段,JSP会被编译成Servlet类,并加载到内存中。 - 服务阶段,每次HTTP请求都会调用Servlet的service方法,...
### JSP生命周期 JSP的生命周期包括三个阶段:翻译、初始化和服务。 1. **翻译阶段**:JSP被转换成一个Servlet源码,这个过程会将JSP中的静态内容和动态元素转化为Java代码。 2. **初始化阶段**:Servlet被加载并...
总结来说,这个压缩包可能包含了一系列关于JSP的学习资源,涵盖了JSP的基本概念、语法、生命周期、内置对象、指令、动作元素,以及相关的实践项目,对于想要深入理解和学习JSP技术的开发者来说,是非常有价值的参考...
**JSP生命周期**: JSP的生命周期包括三个阶段:加载、实例化和销毁。在加载阶段,JSP文件被转换为Servlet源代码;实例化阶段,Servlet被创建并初始化;销毁阶段,当Servlet不再需要时,会被垃圾回收器清理。 **JSP...
2. **JSP生命周期**:JSP页面在服务器端经历编译、实例化、初始化、服务和销毁五个阶段。在服务阶段,每次用户请求都会创建一个Servlet实例来处理请求并生成响应。 3. **JSP与Servlet关系**:JSP本质上是Servlet的...
JSP的生命周期包括三个主要阶段:翻译、初始化和执行。在翻译阶段,JSP容器会将JSP文件转换为一个Java Servlet源码,这个过程生成了一个名为_jspService()的方法。然后,编译器将这个Servlet源码编译成字节码,并...
6. **JSP生命周期** JSP有三个主要阶段:翻译、初始化和服务。翻译阶段,JSP被转换为Servlet源码;初始化阶段,Servlet被加载并实例化;服务阶段,Servlet处理请求并生成响应。 7. **EL(Expression Language)与...
- 了解Servlet生命周期:从init()方法初始化Servlet实例到service()方法处理客户端请求,再到destroy()方法释放资源。 - 学习如何使用Servlet处理不同类型的HTTP请求(GET、POST等),并返回相应的HTTP响应。 - ...
Servlet生命周期包括加载、实例化、初始化、服务和销毁等阶段。在初始化阶段,Servlet会创建一个ServletConfig对象,它包含了来自web.xml的配置信息。Servlet通过重写doGet和doPost方法来处理HTTP请求,并通过...