JSP生命周期

JSP生命周期:

  1. 编译阶段:servlet容器编译servlet源文件,生成servlet类
  2. 初始化阶段:加载与JSP对应的servlet类,创建实例,并开始调用它的初始化方法
  3. 执行阶段:调用与JSP对应的servlet实例的服务方法
  4. 销毁阶段:调用与JSP对应的servlet实例的销毁方法,销毁servlet实例

JSP编译阶段

当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有编译过,或编译过之后被修改过,则编译这个文件

JSP初始化

容器载入JSP文件后,首先调用jspInit()方法。如果需要自定义JSP初始化任务,重写jspInit()方法即可

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

JSP执行

当初始化后,JSP引擎会调用_jspService()方法,一切与请求相关的交互行为都在这个阶段,直至销毁;代码如下:

// 需要传入HttpServletRequest请求对象和HttpServletResponse响应对象作为参数
void _jspService(HttpServletRequest request , HttpServletResponse response){
	//服务端处理代码
}

JSP销毁(清理)

所有请求处理完之后,JSP网页从容器中被移除;jspDestroy()方法被调用,释放数据库连接等可以卸载方法内:

public void jspDestroy(){
	//关闭数据库等
}

实例

JSP生命周期代码如下

<%@ page language="java" contentType="text/html; charset=UTF-8">
<html>
	<head>
		<title> life.jsp </title>
	</head>
	<body>
		<%!
			private int initVar = 0;
			private int serviceVar = 0;
			private int destroyVar = 0;
		%>
		<%!
			public void jsInit(){ //初始化
				initVar++;
				System.out.printIn("jsInit():JSP被初始化了"+initVar+"次")
			}
			public void jspDestroy(){//销毁阶段
				destroyVar ++;
				System.put.printIn("jspDestroy():方法被销毁了"+destroyVar +"次")
			}
		%>
		<%!
			serviceVar++;
			System.out.printIn("_jspService(): JSP共响应了"+serviceVar+"次请求");
			String s1 = "初始化次数:"+initVar;
			String s2 = "响应客户请求次数:"+serviceVar;
			String s3 = "销毁次数:"+destroyVar ;
		%>
		<h1>测试实例</h1>
		<p><%=s1 %></p>
		<p><%=s2 %></p>
		<p><%=s3%></p>
	</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值