在JSP中,在"<%"和"%>"之间书写的程序代码成为java程序片。

一个JSP页面中可以有多个java程序片。要注意的是,在Java程序片中声明的变量在它们所在JSP页面的所用程序片及表达式中都有效。基于此,可以把一个较大的程序片分成几个小的程序片,还可在其中插入HTML语句,以便编写的程序代码更具有可读性。

在程序片中声明的变量只在页面有效,是局部变量,它在不同的客户访问同一个页面时,此变量是不能共享的。但如果是在"<%!"和"%>"之间声明的变量就可以在不同的客户之间共享,其有效范围是整个Web应用,在服务器关闭后变量才会被释放。

用"<%="和"%>"可以直接输出变量或表达式的值,变量或表达式的值将作为一个字符串在浏览器中输出。这种方法在JSP编程中是比较常用的,特别在与HTML标记混合编写时较为常用。如下代码:

<%@ page contentType="text/html; charset=gb2312" %>
<html>
<body><%!int counter=0;synchronized void counterFunction(){counter++;}%><%counterFunction();%>网站计数器<br>你是第<%=counter %>位访问者
</body>
</html>

该程序首先在"<%!“和”%>"之间声明了一个计数器变量和计数的方法,计数器变量将在客户之间共享,直至服务器关闭。计数方法实际上就是对计数变量做增1处理,在方法的前面加了sychronized关键字,这个关键字可防止客户在同时调用此方法更改计数变量的值时发生冲突,因此对方法作了串行化处理。

JSP简单练习-一个简单的计数器相关推荐

  1. JSP+Mysql 做一个简单的学生成绩查询web系统

    IDEA基于JSP+Mysql 做一个简单的学生成绩查询web系统 目录 一.相关软件的下载和配置环境 Java环境的下载和配置 (1)IDEA的下载和安装 ​ (2)JdK的安装 Tomcat的下载 ...

  2. android 观察者模式的简单demo,一个简单的demo彻底搞懂观察者模式

    介绍 观察者模式也被称为发布-订阅(Publish/Subscribe)模式,它属于行为型模式的一种.观察者模式定义了一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听.当这个主题对象状态变 ...

  3. python 类的简单应用--一个简单的扑克游戏

    扑克小游戏 学python刚学到类的时候无意间看到有人说作了一个扑克牌的游戏 然后一时兴起试着写了一个简单的比大小的游戏,顺便找一下多年逢赌必输的真相 o.o 下面贴出来的是在python3.6当中运 ...

  4. eclipse基于 JSP+Mysql 做一个简单的学生成绩查询web系统

    文章目录 一.配置环境 一.eclipse的下载和安装 二.JDK的安装和配置 三.tomcat的下载安装和环境配置 四.eclipse下载插件 二.eclipse将项目部署到tomcat上 三.连接 ...

  5. verilog 简单module_一个简单的verilog小程序

    这是一个verilog单口SRAM的代码,不知道为什么输出总是高阻,请高人指点一下.代码如下modulesram_8_8(wr,rd,din,dout,address,cs);inputwr,rd,c ...

  6. android简单loading,一个简单能用的LoadingDialog

    感谢习惯沉默,我也是受此启发才做了这个项目,虽然之前写过文章,也去他的博客底下评论过,不过时过境迁,现在评论的功能已经被关闭了,还是在项目里感谢一下. LoadingDialog 如何使用 Step ...

  7. ajax实现简单计算器,一个简单的jQuery计算器实现了连续计算功能

    Javascript计算器 7 8 9 + 4 5 6 - 1 2 3 * 0 = c / var num0 = null; var num1 = null; var symble = null; v ...

  8. 用JSP/Servlet应用开发一个简单的考试报名系统

    用JSP/Servlet实现一个简单的考试报名系统 背景 一.任务/要求 二.对项目需求进行简要的建模概括分析. 2.项目实现. 2.1项目结构. 2.1.1层次结构 2.1.1数据表结构. 2.2项 ...

  9. ajax地址为jsp,AJAX_在jsp中运用ajax(简单入门),由于ajax为我们带来太多的好处 - phpStudy...

    在jsp中运用ajax(简单入门) 由于ajax为我们带来太多的好处,所以在很多应用中我们都会优先选择这种技术,于是我也为之所吸引,现跟大家分享下一个简单的入门例子. regist.jsp文件:一个简 ...

最新文章

  1. 每个人都应该知道的25个大数据术语
  2. 云栖大会第二天:ACK Anywhere 来了
  3. linux atom 升级,Github更新Atom,主要集中在Windows
  4. 前端学习(3209):react中类中方法的this指向
  5. 华为鸿蒙系统真的好吗,鸿蒙系统真的成熟吗?华为还有很长的路要走
  6. 开源中国 Android 客户端 v2.8.4 代码开源
  7. 持续集成部署Jenkins工作笔记0018---18.Linux中安装Git客户端
  8. 有了数据湖,距离数据仓库消失还有几年?
  9. linux分区用来支持虚拟内存,Linux分区方案
  10. 福利卡巴斯基一年免费以及一些使用软件
  11. ATM+bzoj+Trajan算法+spfa求最短路
  12. linux 系统迁移到固态硬盘,把整个Linux系统迁移到另一个硬盘
  13. 虚幻4地形怎么增加层_虚幻周报20200602 | 我等的东西还没来……
  14. Fuchsia源码分析--系统调用流程
  15. jQuery新手入门
  16. bash grep 判断_bash 退出状态与条件判断
  17. 系统学习做汉堡_您如何学习策略设计模式? 做一个汉堡!
  18. 基于ABC人工蜂群优化算法的最优解搜索算法matlab仿真
  19. java经典24点算法代码
  20. 微信小程序个人号注册

热门文章

  1. 案例 | 新零售如何精细化运营?百联全渠道经验谈
  2. 失战于知识付费,会员与智能硬件将助蜻蜓FM打赢下半场战争?
  3. 2018-2019-1 20165318 20165322 20165326 实验一 开发环境的熟悉
  4. Shell编程基础---shell的结构、执行及变量
  5. 关于省,市,区联动 java 实现方式
  6. 同事间竞争,你该如何对待?
  7. BREW应用的分发流程
  8. Type of data in energy dashboard
  9. 2019 surf project for a milestone
  10. 关于要不要买apple watch 的思考:节俭是一种习惯