JSP 教程 之 JSP 生命周期 4

简介: JSP生命周期包括编译、初始化、执行和销毁四个阶段。在编译阶段,JSP转换为servlet。初始化阶段加载并实例化servlet。执行阶段调用服务方法响应请求。销毁阶段调用销毁方法,如`jspDestroy()`,用于资源释放。示例代码展示了`jspInit()`、`_jspService()`和`jspDestroy()`方法在生命周期中的应用。浏览器显示初始化、服务请求和销毁的计数。

JSP 教程 之 JSP 生命周期 4

JSP 生命周期

理解JSP底层功能的关键就是去理解它们所遵守的生命周期。

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

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

编译阶段:
servlet容器编译servlet源文件,生成servlet类

初始化阶段:
加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法

执行阶段:
调用与JSP对应的servlet实例的服务方法

销毁阶段:
调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例

JSP清理

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

jspDestroy()方法在JSP中等价于servlet中的销毁方法。当您需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。

jspDestroy()方法的格式如下:

public void jspDestroy()
{
// 清理代码
}
实例
JSP生命周期代码实例如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>







<%!
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;
%>

百度 JSP 测试实例


<%=content1 %>


<%=content2 %>


<%=content3 %>




浏览器打开该页面,输出结果为:

百度 JSP 测试实例
初始化次数:1
响应客户请求次数:1
销毁次数:0

目录
相关文章
|
2月前
|
Java
JSP 教程 之 JSP 国际化 2
**JSP教程:国际化(i18n)与本地化(l10n)**涉及根据用户语言和地区展示内容。关键概念包括区域标识(如&quot;en_US&quot;),`Locale`对象用于检测语言和国家,如`getCountry()`返回地区码,`getDisplayCountry()`显示用户友好的国家名,`getLanguage()`获取语言码,`getDisplayLanguage()`显示语言名,以及`getISO3Country()`和`getISO3Language()`提供3字母缩写。这些方法帮助创建适应不同文化的网站。
32 4
|
2月前
|
Java
JSP 教程 之 JSP 国际化 3
**JSP教程:国际化简述** 了解i18n(国际化)和l10n(本地化),涉及根据用户语言和地区展示内容。区域用如&quot;en_US&quot;标识。`Locale`对象关键方法包括:`getCountry()`显示国家代码,`getDisplayCountry()`显示国家名称,`getLanguage()`和`getDisplayLanguage()`分别用于语言。
27 1
|
2月前
|
自然语言处理 Java 容器
JSP 教程 之 JSP 国际化 1
**JSP教程:国际化简述** 了解关键概念:i18n(国际化)为用户提供多语言版本,l10n(本地化)适应区域文化差异,如印度语版网站。区域标识如&quot;en_US&quot;。JSP利用request的locale属性显示相应版本。通过`request.getLocale()`获取用户区域。教程深入探讨全球化网站的实现。
31 0
|
17天前
|
安全 Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+jsp实现的健身房管理系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术实现的健身房管理系统。随着健康生活观念的普及,健身房成为日常锻炼的重要场所,高效管理会员信息、课程安排等变得尤为重要。该系统旨在通过简洁的操作界面帮助管理者轻松处理日常运营挑战。技术栈包括:JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Shiro、Spring Boot 2.0等。系统功能覆盖登录、会员管理(如会员列表、充值管理)、教练管理、课程管理、器材管理、物品遗失管理、商品管理及信息统计等多方面。
|
2月前
|
Java
JSP 教程 之 JSP 国际化 7
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家显示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何用`NumberFormat`和`getLocale()`格式化区域特定的百分比,展示标题和格式化后的百分比值。
49 3
|
2月前
|
Java
JSP 教程 之 JSP 国际化 6
**JSP教程-JSP国际化**涉及i18n(页面按访客语言显示不同版本)和l10n(适应不同地区文化)。区域如&quot;en_US&quot;代表美国英语。使用`NumberFormat`进行区域特定货币格式化,
25 4
|
2月前
|
自然语言处理 Java
JSP 教程 之 JSP 国际化 4
JSP 国际化涉及i18n(根据不同用户语言显示内容)和l10n(适应不同地区文化)。区域标识如&quot;en_US&quot;指美国英语。设置`Content-Language`响应头(如`es`为西班牙语)和使用HTML字符实体(如`ñ`、`¡`)确保正确显示多语言内容。示例代码展示如何设置响应内容类型为西班牙语并输出带特殊字符的标题。
20 3
|
2月前
|
Java
JSP 教程 之 JSP 国际化 5
JSP教程讲解了国际化(i18n)和本地化(l10n),涉及根据用户语言和国家展示内容。区域如&quot;en_US&quot;定义文化与语言。示例代码演示了如何利用`java.text.DateFormat`按用户区域(通过`request.getLocale()`获取)格式化日期和时间,展示本地化日期。
23 2
|
2月前
|
缓存 Java
JSP 教程 之 JSP 调试 10
**JSP调试技巧:**利用JDB日志记录服务跟踪问题;查看HTTP头解决客户端/服务器交互异常;浏览器查看原始页面内容排查格式错误;使用Shift-Reload/Shift-Refresh强制刷新,防止缓存影响调试。
18 3
|
2月前
|
Java
JSP 教程 之 JSP 调试 9
**JSP调试涉及客户端/服务器交互的复杂性,常导致错误难以重现。使用JDB进行日志记录以追踪问题,同时检查HTTP头信息有助于诊断运行异常的JSP。了解HTTP结构能更好地分析请求和响应头。**
15 0