JSP简单练习-一个简单的计数器
在JSP中,在"<%"和"%>"之间书写的程序代码成为java程序片。
一个JSP页面中能够有多个java程序片。
要注意的是,在Java程序片中声明的变量在它们所在JSP页面的所用程序片及表达式中都有效。基于此,能够把一个较大的程序片分成几个小的程序片,还可在当中插入HTML语句。以便编写的程序代码更具有可读性。
在程序片中声明的变量仅仅在页面有效。是局部变量,它在不同的客户訪问同一个页面时,此变量是不能共享的。
但假设是在"<%!"和"%>"之间声明的变量就能够在不同的客户之间共享,其有效范围是整个Web应用,在server关闭后变量才会被释放。
用"<%="和"%>"能够直接输出变量或表达式的值。变量或表达式的值将作为一个字符串在浏览器中输出。这样的方法在JSP编程中是比較经常使用的,特别在与HTML标记混合编写时较为经常使用。例如以下代码:
<%@ page contentType="text/html; charset=gb2312" %>
<html>
<body>
<%!
int counter=0;
synchronized void counterFunction()
{
counter++;
}
%>
<%counterFunction();%>
站点计数器<br>
你是第<%=counter %>位訪问者
</body>
</html>
该程序首先在"<%!“和”%>"之间声明了一个计数器变量和计数的方法,计数器变量将在客户之间共享,直至server关闭。
计数方法实际上就是对计数变量做增1处理,在方法的前面加了sychronizedkeyword,这个keyword可防止客户在同一时候调用此方法更改计数变量的值时发生冲突。因此对方法作了串行化处理。
JSP简单练习-一个简单的计数器的更多相关文章
- 学习vue就是那么简单,一个简单的案例
vue是前端兴起的一个javascript库,相信大家都使用过jQuery,虽然vue和jQuery没有可比性,但从熟悉的角度去理解新的东西或许会容易接受一些,有时候由于思想和模式的转变会带来阵痛,但 ...
- 一个简单的多线程Python爬虫(一)
一个简单的多线程Python爬虫 最近想要抓取拉勾网的数据,最开始是使用Scrapy的,但是遇到了下面两个问题: 前端页面是用JS模板引擎生成的 接口主要是用POST提交参数的 目前不会处理使用JS模 ...
- CSS布局中一个简单的应用BFC的例子
什么是BFC BFC(Block Formatting Context),简单讲,它是提供了一个独立布局的环境,每个BFC都遵守同一套布局规则.例如,在同一个BFC内,盒子会一个挨着一个的排,相邻盒子 ...
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- 使用Servlet和JSP实现一个简单的Web聊天室系统
1 问题描述 利用Java EE相关技术实现一个简单的Web聊天室系统,具体要求如下. (1)编写一个登录 ...
- 一个简单的jsp自定义标签
学到了一个简单的jsp自定义标签,后面有更多的例子,会更新出来: 例子1: 步骤: 1.编写标签实现类: 继承javax.servlet.jsp.tagext.SimpleTagSupport; 重写 ...
- 一个简单的Verilog计数器模型
一个简单的Verilog计数器模型 功能说明: 向上计数 向下计数 预装载值 一.代码 1.counter代码(counter.v) module counter( input clk, input ...
- 利用JSP编程技术实现一个简单的购物车程序
实验二 JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...
- 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)
近期看老罗视频,做了一个简单的用户注冊系统.用户通过网页(JSP)输入用户名.真名和password,Servlet接收后通过JDBC将信息保存到MySQL中.尽管是个简单的不能再简单的东西,但麻雀虽 ...
随机推荐
- 在controller的action内, 得到用户发过来的请求地址和参数url
class PController extends Controller{ public function Log() { echo $_SERVER["HTTP_HOST"] . ...
- C++中逗号操作符重载的分析
1,关注逗号操作符重载后带来的变化: 2,逗号操作符: 1,逗号操作符(,)可以构成都好表达式:exp1, exp2, exp3, ..., expN 1,逗号表达式用于将多个表达式连接为一个表达式: ...
- elasticsearch painless脚本评分
painless是一种新支持的脚本语言,语言格式和java十分类似.可以参考以下文档: painless语言介绍 painless api painless 实例 脚本参数 score_mode计算f ...
- 2019-8-31-C#-遍历枚举
title author date CreateTime categories C# 遍历枚举 lindexi 2019-08-31 16:55:58 +0800 2018-03-13 20:42:2 ...
- Codeforces 1101D 点分治
题意:有一颗树,每个点有一个点权,边权都是1,问路径上的所有点的gcd不是1的最长路径是多少? 思路:之前补这道题的时候,用分解质因数 + 树形DP做的,其实用点分治可以更暴力一点.对于这类统计树上路 ...
- 一、Centos7安装mysql
Centos7是通过yum下载的,在mysql找到yum下载链接,然后通过wget命令下载到本地 1. 官网的页面的地址 https://dev.mysql.com/downloads/file/?i ...
- Redis面试题大全含答案
Redis面试题大全含答案 Redis面试题大全含答案 1.什么是Redis?答:Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写.支持网络.可基于内 ...
- Struts 2中的constant详解【转载】
通过对这些属性的配置,可以改变Struts 2 框架的一些默认行为,这些配置可以在struts.xml文件中完成,也可以在struts.properties文件中完成. struts.xml 1.&l ...
- Java 的内置对象
1.Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息. 当Request对象获取客户提交的汉字字符时,会出现乱码问题 ...
- Hashtable、HashMap、TreeMap、ConcurrentHashMap、ConcurrentSkipListMap区别
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11444013.html 并发场景下的Map容器使用场景 如果对数据有强一致要求,则需使用Hashtab ...