JSP语法——[JSP]4

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

目录

前言

JSP页面的基本结构

一个JSP页面可由5种元素组合而成

原理

JSP页面的基本结构

声明变量和定义方法

声明变量和定义方法

Java 程序片

总结


前言

主要内容
JSP页面的基本结构
声明变量和定义方法
Java程序片
Java表达式
JSP指令标记
JSP动作标记
难点
Java程序片
JSP动作标记
关键实践
消费总和
听英语


JSP页面的基本结构

一个JSP页面可由5种元素组合而成


(1)普通的HTML标记和Javascript标记
(2)JSP标记,如指令标记、动作标记。
(3)变量和方法的声明。
(4)Java 程序片。
(5)Java 表达式。


原理


一个JSP页面被第一次请求执行时,Tomcat服务器首先将JSP页面文件转译成一个Java文件,再将这个Java文件编译生成字节码文件,然后通过执行字节码文件响应用户的请求。


当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程,该线程负责执行常驻内存的字节码文件来响应相应用户的请求。这些线程由Tomcat服务器来管理,将CPu的使用权在各个线程之间快速切换,以保证每个线程都有机会执行字节码文件。


JSP页面的基本结构

字节码的任务
★把JSP页面中普通的HTML标记和Javascript标记,交给用户端浏览器执行显示。
★JSP标记、方法的定义、Java程序片由服务器负责处理和执行,将需要显示的结果发送给用户端浏览器
★Java表达式由服务器负责计算,并将结果转化为字符串,然后交给用户端浏览器负责显示。


声明变量和定义方法

<%!….%>
在<%!和%>标记符号之间声明变量,定义方法以及定义类<%!和%>标记符号的内容习惯上放在JSP 页面指令之后,<HTML>之前,也可以写在<HTML>与</HTML>之间。
<%!和%>之间声明的变量在整个JSP页面内都有效,与标记符在ISP页面中所在的书写位置无关,但习惯上把<%!、%>标记符写在JSP页面的前面。
对于在“<%!”和“%>”标记符号之间定义方法,可以在Java程序片中调用该方法。方法内声明的变量只在该方法内有效,当方法被调用时,方法内声明的变量被分配内存,方法被调用完毕即可释放这些变量所占的内存。
对于在“<%!”和“%”标记符号之间定义类,可以在Java程序片中使用该类创建对象。
★Tomcat服务器将JSP页面转译成Java 文件时,将“<%!”,“%>”标记符之间声明的变量作为类的成员变量,这些变量占有的内存空间直到Tomcat服务器关闭才释放。
★当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程这些线程由Tomcat服务器来管理,这些线程共享ISP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。


声明变量和定义方法

例子2_2利用成员变量被所有用户共享这一性质,实现了一个简单的计数器。

例子2_3在“<%!”和“%>”之间定义了两个方法multi(int x,int y)和div (int x,int y),然后在程序片中调用这两个方法。在“<%!”和“%>”之间定义了一个Circle类,然后在程序片中使用该类创建对象,计算了圆的面积。


Java 程序片

<% …%>
●可以在<%和%>之间插入Java 程序片。
●一个SP页面可以有许多程序片,这些程序片将被Tomcat服务器按顺序执行.
●在程序片中声明的变量称作JSP页面的局部变量。局部变量的有效范围与其声明的位置有关,即局部变量在ISP页面后继的所有程序片以及表达式部分内都有效。
●当多个用户请求一个JSP页面时,Tomcat服务器为每个用户启动一个线程该线程负责执行字节码文件响应用户的请求。Tomcat服务器使用多线程来处理程序片.

★操作ISP页面的成员变量。
Java 程序片中操作的成员变量是各个线程(用户)共享的变量,任何一个线程对JSP页面成员变量操作的结果,都会影响到其他线程。
★调用JSP页面的方法。
Java 程序片中可以出现方法调用语句,所调用的方法必须是JSP页面曾定义的方法。
★操作局部变量。
当一个线程享用CPU资源时,Tomcat服务器让该线程执行Java程序片,这时,Java程序片中的局部变量被分配内存空间,当轮到另一个线程享用CPU资源时,Tomcat服务器让该线程再次执行Java程序片,那么,Java程序片中的局部变量会再次分配内存空间。也就是说Java程序片已经被执行了两次,分别运行在不同的线程中,即运行在不同的时间片内。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。


总结

主要内容
JSP页面的基本结构
声明变量和定义方法
Java程序片
Java表达式
JSP指令标记
JSP动作标记
难点
Java程序片
JSP动作标记
关键实践
消费总和
听英语

希望你开心,希望你健康,希望你幸福,希望你点赞!

最后的最后,关注喵,关注喵,关注喵,大大会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3014959.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

(双指针) 有效三角形的个数 和为s的两个数字 三数之和 四数之和

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、有效三角形的个数&#xff08;medium&#xff09; 1.1、题目 1.2、讲解算法原理 1.3、编写代码 二、和为s的两个数字 2.1、题目 2.2、讲解算…

纯干货分享|源代码泄露的有效方法

企业的源代码怎么加密&#xff1f; 源代码防泄密的重点和方法到底是怎样的&#xff1f; 源代码开发环境复杂&#xff0c;涉及的开发软件、文件类型庞杂多变&#xff0c;究竟有什么源代码加密软件能够适应众多开发软件而不影响原有的工作效率&#xff1f; 相信这是很多IT管理…

宋仕强论道之餐饮业的效率

宋仕强论道之餐饮业的效率&#xff0c;现在餐饮业的竞争非常大&#xff0c;经常会看到很多店转让和倒闭。我们就从客流量、客单量、翻台率、毛利率、营业高峰期、有效营业时间等几个餐饮业的基本要素来分析。对于快餐店来说&#xff0c;客单小、毛利低是短板&#xff0c;只有吸…

搭建Harbor仓库

文章目录 Harbor仓库搭建Harbor仓库安装 docker 服务修改配置文件 Harbor仓库 搭建Harbor仓库 下载 Harbor 仓库 安装 docker 服务 # step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 yum-config-m…

SH-PEG-SH,聚乙二醇二巯基广泛用于生物学应用、纳米技术和材料研究中

【试剂详情】 英文名称 SH-PEG-SH 中文名称 聚乙二醇二巯基&#xff0c;双硫醇PEG&#xff0c; 双巯基聚乙二醇&#xff0c;双巯基封端聚乙二醇 外观性状 白色固体粉末 分子量 0.4k&#xff0c;0.6k&#xff0c;1k&#xff0c;2k&#xff0c;3.4k&#xff0c;5k&#x…

NVIDIA Omniverse Cloud API支持数字孪生开发,可解决复杂AI问题 | 最新快讯

在全球范围内&#xff0c;价值超过 50 万亿美元的重工业市场&#xff0c;正在竞相实现数字化。 基于此&#xff0c;为帮助数字孪生技术更好地赋能千行百业&#xff0c;AI 企业 NVIDIA 在架构底层算力的同时&#xff0c;也搭建了 NVIDIA AI Enterprise 和 Omniverse 两大平台。 …

Python Flask框架(一)初识Flask

Flask是使用Python编写的Web微框架。Web框架可以使我们不用关心底层的请求响应处理&#xff0c;更方便高效的编写Web程序。Flask有两个主要依赖&#xff0c;一个是WSGI&#xff08;Web Server Gateway Interface&#xff0c;web服务器网关接口&#xff09;工具集&#xff0c;另…

PD芯片取电:电子设备的动力之源6020 6500

随着现代电子技术的迅猛发展&#xff0c;电源管理技术在各种电子设备中扮演着越来越重要的角色。特别是近年来&#xff0c;随着USB Power Delivery&#xff08;PD&#xff09;技术的普及&#xff0c;PD芯片取电技术因其高效、灵活和安全的特点&#xff0c;成为了电子设备充电和…

炒股自动化:散户如何通过API查询资产和持仓,Python接口

券商官方的接口&#xff0c;个人账户可申请&#xff0c;入金门槛低&#xff0c;接入文档完善&#xff0c;技术支持好的&#xff0c;经过我们筛选后&#xff0c;只有一家符合&#xff0c;会编程&#xff0c;有基础&#xff0c;只是需要API接口的朋友不用看这些内容&#xff0c;不…

【代码随想录——哈希表】

1.哈希表理论基础 首先什么是 哈希表&#xff0c;哈希表&#xff08;英文名字为Hash table&#xff0c;国内也有一些算法书籍翻译为散列表&#xff0c;大家看到这两个名称知道都是指hash table就可以了&#xff09;。 那么哈希表能解决什么问题呢&#xff0c;一般哈希表都是用…

什么是CC攻击?CC攻击怎么防御?

随着互联网的发展和技术的进步&#xff0c;网络安全问题日益严峻&#xff0c;网络攻击手段层出不穷&#xff0c;其中CC攻击就是一种比较常见的网络攻击手段。那么&#xff0c;什么是CC攻击&#xff1f;CC攻击怎么防御&#xff1f; 一、什么是CC攻击&#xff1f; CC攻击&#…

如何永久删除服务和相关文件夹

如何永久删除服务和文件夹&#xff1f; How can I remove the service and folder permanently? 以AlibabaProtect服务为例 takeown /f "C:\Program Files (x86)\AlibabaProtect sc delete AlibabaProtect我运行了上述操作&#xff0c;并通过任务管理器杀死了“阿里巴巴…

电能表自动抄表系统

1.电能表自动抄表系统简述 电能表自动抄表系统是一种现代化电力工程管理方法&#xff0c;旨在提升能源利用效率&#xff0c;提升电力网经营&#xff0c;同时提供最准确、及时地电费计算服务。该系统通过自动化的形式&#xff0c;取代了传统式手动抄水表方法&#xff0c;大大提…

【竞技宝】DOTA2:LGD微博发图引热议 xiao8将复活LGD?

北京时间2024年5月7日,最近刀圈最火的就是斗鱼举办的超梦杯比赛了,很多职业选手、退役选手、高分主播参与其中,但这毕竟是业余的比赛,大家更喜爱的还是世界大赛,而下一个大赛将是PGL瓦拉几亚S1。国内战队方面,XG将携手IG参加本次比赛。 今年的国内战队中,AR、XG、IG是表现最好的…

kaggle叶子分类比赛(易理解)

说实话网上很多关于叶子分类比赛的代码能取得的成绩都很好,但对于我这个业余人员太专业了&#xff0c;而且很多文章都有自己的想法&#xff0c;这让我这个仿写沐神代码的小菜鸡甚是头痛。 但好在我还是完成了&#xff0c;虽然结果并不是很好&#xff0c;但是如果跟着沐神走的同…

VM虚拟机提示内存不足

VMware虚拟机&#xff0c;k8s集群搭建内存不足的问题 疑问&#xff1a;我的电脑是8G8G双通道的内存&#xff0c;当我在搭建k8s集群时给master-2G内存&#xff0c;node1-3G内存&#xff0c;node2-3G内存&#xff1b; 当依次打开虚拟机到node2时VM提示“物理内存不足&#xff0c;…

自动控制原理MATLAB:控制系统模型构建

在MATLAB中&#xff0c;常用的系统建模方法有传递函数模型、零极点模型以及状态空间模型等。 1系统传递函数模型描述&#xff1a; 命令格式&#xff1a; systf(num,den,Ts); 其中&#xff0c;num、den为分子多项式降幂排列的系数向量,Ts表示采样时间&#xff0c;缺省时描述…

Google搜索广告怎么开户?谷歌广告开户投放引流技巧、账户搭建、谷歌ads广告推广投放策略 #搜索引擎 #谷歌广告#互联网营销

Google搜索广告开户步骤&#xff1a; 选择代理商&#xff1a;首先&#xff0c;您需要选择一个经验丰富、信誉良好的Google广告代理商。可以选择上海上弦来广告开户和代运营。 初步咨询&#xff1a;与代理商进行初步沟通&#xff0c;了解他们的服务内容、成功案例、收费标准等。…

如何从Mac上的清空垃圾箱中恢复已删除的文件?

Mac用户几乎每天都会删除文件。当您将文档删除到 Mac 垃圾箱时&#xff0c;该文件将被剪切到 Mac 垃圾箱中&#xff0c;并且可以轻松放回原处。但是&#xff0c;在某些情况下&#xff0c;您错误地删除了文档和文件&#xff0c;并在您意识到自己犯了一个大错误之前清空了垃圾箱。…

Application exit(Out of memory)

Qt for WebAssembly 开发的网页&#xff0c;在 iOS 设备上打开会提示&#xff1a;Out of memory 如图&#xff1a; 解决办法&#xff1a; 环境&#xff1a;Qt 6.7.0 WebAssembly multi-threaded Emscripten Compiler 3.1.50 在CMakeLists.txt 中增加&#xff1a; set_tar…