JSP生命周期

【JSP笔记01】为什么会出现JSP,到底什么是JSP,JSP的本质又是什么,JSP的生命周期介绍 这篇文章开始介绍JSP相关技术知识,首先介绍什么是JSP,为什么会出现JSP,JSP实现的原理。 以前文章列表 目录 一、为什么会出现JSP JSP的诞生是基于Servlet组件的,为什么这么说呢??? 我们之前在编写Servlet程序的时候,如果我们要生成动态网页,首先需要在一个Servlet里面,通过response获取到输出流,然后通过调用【println()】方法,将HTML代码输出给浏览器客户端渲染。 假设我们需要编写一个登录表单,那么通过Servlet就需要编写下面这些代码,代码. 阅读详情

JSP的生命周期

说到jsp的生命周期,其实看可以参考servlet的生命周期,jsp先将jsp转换为servlet,然后再将servlet编译成可执行类,再将原始请求交给servlet引擎,接下来就是跟servlet差不多的与生命周期过程了;实际上,JSP的生命周期相对servlet来说就是多了一个编译阶段。

jsp生命周期的主要阶段:

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

下面是JSP的生命周期图,可以看出与servlet的生命周期非常相似;

 

接下来详细的说一说这四个阶段的过程;

*编译阶段:

当浏览器请求jsp页面时,jsp引擎会去检查是否需要编译这个文件。

编译过程中的三个步骤:

  1. 解析jsp文件
  2. 将jsp文件转化为servlet
  3. 编译servlet

*JSP初始化阶段:

当容器载入jsp文件后,会在为请求提供任何服务前调用jspinit()方法。如果需要自定义jspInit()初始化方法的功能可以重写jspInit()方法;

public void jspInit(){
    //代码
}

一般来讲程序只初始化一次,servlet也是如此。通常情况下您可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表。

*JSP执行阶段:

这一阶段进行一切与请求相关的交互行为,直到被销毁。

当jsp网页初始化完成后,JSP引擎会调用_jspService()方法。

_jspService()方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数。

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

*JSP销毁阶段:

这一阶段主要是描述了将jsp网页从容器中被移除时所发生的一切。

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

public vid jspDestroy(){
    //代码
}

JSP实例:Demo.jsp

<%@ page language="java" 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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%! 
	private int initNumber=0;
	private int serviceNumber=0;
	private int destroyNumber=0;
	
	public void jspInit(){
		initNumber++;
		System.out.println("jspInit()JSP被初始化了"+initNumber+"次");
	}
	public void jspDestroy(){
		destroyNumber++;
		System.out.println("jspDestroy()JSP被销毁了"+destroyNumber+"次");
	}
%>
<%
	serviceNumber++;
	System.out.println("_jspService()方法共响应了"+serviceNumber+"次请求");
	
	String content1="初始化次数:"+initNumber;
	String content2="响应客户请求次数:"+serviceNumber;
	String content3="销毁次数"+destroyNumber;
%>
<h1>JSP初次测试</h1>
<p><%=content1 %></p>
<p><%=content2 %></p>
<p><%=content3 %></p>
</body>
</html>

启动Tomcat服务器后输出结果:

停止Tomcat服务器后输出结果:

参考:https://www.w3cschool.cn

源码编译部署篇(二)源码编译milvus成功后如何启动standalone并调试成功! 由于Milvus官方文档只提及如何使用docker安装部署Milvus,关于源码安装方式篇幅较少,因此,我整理撰写了如何通过源码编译方式成功安装Milvus,详见此篇。之所以选择这种复杂的安装方式,可以调试源码进而熟悉Milvus如何搭建整个框架支持AI上层应用功能。根据上篇步骤部署虽然可以成功,然而,我却不能成功启动Milvus服务,这个问题困扰了一两天,现在终于得以解决并能成功调试Milvus源码。接下来,分为三个部分介绍如何启动和成功调试。 阅读详情

相关推荐

EGO_Planner代码学习(三):px4ctrl代码流程

上节阅读了EGO_Planner的轨迹服务器部分的代码,其实质是将规划器生成的轨迹进行离散化,间隔10ms计算当前时刻在轨迹上的位置,并发送到话题上。这两天抽空看了下控制器部分的代码,在l这个软件包里,它的功能是进行px4的模式识别和上层控制,通过线性控制器把发布过来的位置命令解算成飞控的控制量,通过mavros发送给px4。下面就详细看一下它的启动过程。

qq_41069236的博客 6805

JSP的生命周期

JSP的生命周期指从创建到销毁的整个过程。分为以下几个阶段:    1:编译阶段:servlet引擎编译servlet源文件,生成servlet类。当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果之前没有被编译过或者编译后被更改过,则编译这个JSP文件。编译过程包含三个步骤:解析JSP文件--将JSP转换为servlet--编译servlet。    2:初始化阶段:加载...

WARGON的博客 6179

从BIN文件到可烧录程序:深入理解ADI DSP程序读取背后的原理与安全边界

本文深入探讨了ADI DSP程序从BIN文件到可烧录程序的转换原理与安全边界,详细解析了JTAG接口、仿真器工作流程及Flash存储结构。通过Visual DSP++工具,开发者可以理解程序读取的底层机制,同时强调了知识产权保护的重要性,为嵌入式开发提供了实用建议。

weixin_27956639的博客 261

JSP页面生命周期详解及优化建议

需要注意的是,JSP页面的生命周期并不是线性的,而是一个循环的过程。当客户端的请求到达时,如果JSP页面已经被编译过,那么JSP容器会直接跳过翻译和编译阶段,直接执行相应的Servlet实例。通过使用缓存,我们可以避免每次请求都重新获取数据,从而提高页面的响应速度。需要注意的是,上面的示例中并没有处理缓存过期的情况,实际应用中应该使用更复杂的机制来处理缓存过期和数据更新的问题。了解JSP页面的生命周期后,我们可以针对各个阶段提出一些优化建议,以提高JSP页面的性能。在上面的示例中,我们使用。

yokeyhui的博客 1396

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

EtherCAT丢包问题深度解析:从原理到实战排查指南

在工业自动化与运动控制领域,实时通讯网络的稳定性是系统可靠运行的基石。EtherCAT(以太网控制自动化技术)作为一种高性能工业以太网协议,其核心在于独特的“飞读飞写”机制和纳秒级的分布时钟同步,以实现多设备间的精准协同。然而,物理链路干扰、配置不当或硬件性能瓶颈都可能导致数据帧丢失,破坏时钟同步,进而引发伺服抖动、定位精度下降乃至生产线停机。本文聚焦于EtherCAT丢包这一典型故障,结合SSC(Slave Stack Code Tool)从站协议栈开发与实时系统调优等工程实践,系统阐述其成因、影响及一套

weixin_32050773的博客 341

jsp基础知识

你的工资为 :

2301_78021017的博客 780

自动化上位机开发C#100例:如何用面向对象的方式封装雷赛运动控制卡EtherCAT总线卡(C#代码)

自动化上位机开发C#100例:雷赛运动控制卡EtherCAT总线卡C#封装类。

十多年IT经验,专注机器视觉,智能制造半导体行业 5028

JSP 生命周期

理解JSP底层功能的关键就是去理解它们所遵守的生命周期。JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。servlet容器编译servlet源文件,生成servlet类加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法调用与JSP对应的servlet实例的服务方法调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例。

oouuhnn的博客 1228

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 424

TMS320F28335调试跟踪的问题:DSP从上电复位,一直到执行main()的第一条语句之间,都干了些什么,以及CCS调试时程序查找的问题

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 1210

jsp生命周期_JSP的生命周期

jsp 生命周期 JSP的生命周期 (Lifecycle of JSP) A JSP page is converted into Servlet in order to service requests. The translation of a JSP page to a Servlet is called Lifecycle of JSP. JSP Lifecycle is exactl...

cunfen6312的博客 478

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JSP-生命周期

JSP-生命周期JSP遵循的路径JSP生命周期JSP编译JSP CompilationJSP初始化JSP InitializationJSP执行JSP ExecutionJSP清理JSP Cleanup 在本章中,我们将讨论JSP的生命周期。理解JSP底层功能的关键是理解它们遵循的简单生命周期。 JSP生命周期定义为从创建到销毁的整个过程。这类似于Servlet生命周期,但需要额外的步骤才能将JS...

JAVA_php_Jack的博客 791

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JSP之生命周期

生命周期 编译阶段: servlet容器编译servlet源文件,生成servlet类 当浏览器请求JSP页面时,JSP引擎会首先去检查是否需要编译这个文件。如果这个文件没有被编译过,或者在上次编译后被更改过,则编译这个JSP文件。 编译的过程包括三个步骤: 1. 解析JSP文件。 2. 将JSP文件转为servlet。 3. 编译servlet。 初始化阶段: 加载与JSP对应的se...

woharen的博客 268

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JSP生命周期 ,Servlet生命周期

JSP生命周期包括以下阶段 解析阶段:Servlet容器解析JSP文件代码,如果有语法错误,就会向客户端返回错误信息 翻译阶段:Servelet容器把JSP文件翻译成Servelet源文件 编译阶段:Servelet容器编译Servelet源文件,生成servelet累 初始化阶段:加载与JSP对应的Servelet类,创建其实例,并调用它的初始化方法 运行时阶段:调用与JSP对应的Se

GUO_LOVER的博客 1431

JSP学习8-JSP 生命周期

JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。实际仍然是通过Servlet来完成的,有一个编译阶段转换为servlet的过程。调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例。加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法。信息: 正在摧毁协议处理器 [“http-nio-8080”]调用与JSP对应的servlet实例的服务方法。概括的来说JSP完成了。

spy47_的博客 386
上一篇: 线程死锁
下一篇: Servlet类的实现
coder150806
博客等级 码龄8年 79粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值