<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="javax.servlet.*" %>
<html>
<head>
<title>网站计数器</title>
</head>
<body><%!synchronized void countPeople(){  // 串行化计数函数ServletContext application=((HttpServlet)(this)).getServletContext();Integer number=(Integer)application.getAttribute("Count");if(number==null){  // 如果是第1个访问本站number=new Integer(1);application.setAttribute("Count", number);}else{number=new Integer(number.intValue()+1);application.setAttribute("Count",number);}}%><%if(session.isNew()){  // 如果是一个新的会话out.println("是一个新会话!");countPeople();}Integer yourNumber=(Integer)application.getAttribute("Count");out.println(yourNumber);%><p>欢迎访问本站,你是第<%=yourNumber %>个访问用户。
</body>
</html>

程序利用synchronize关键字对计数函数进行了串行化(有的书中叫序列化),以确保当两个客户端同时访问网页而修改计数值时不会产生冲突;getServletContext()方法来得到application对象,因为有些Web服务器并不直接支持application对象,必须先得到其上下文;如果还是第一个访问的客户,则前面代码中得到的number会是空值,故置初始值为1,否则做增1处理;如果是一个新的会话则调用计数函数,得到计数值并将其显示。

可以发现,当刷新页面时,其数值并不会增加,只有关闭了本网站的所有窗口再重新访问时,才会增1,因为这又是一个新的会话。

JSP简单练习-网站计数器相关推荐

  1. Servlet实现一个网站计数器

    1.预备知识一---ServletContext对象 WEB容器在启动时,会为每一个WEB应用程序都创建一个对应的ServletContext对象,代表当前web应用. ServletContext对 ...

  2. JSP简单练习-一个简单的计数器

    在JSP中,在"<%"和"%>"之间书写的程序代码成为java程序片. 一个JSP页面中可以有多个java程序片.要注意的是,在Java程序片中声明 ...

  3. 【PHP】简单的网站访问量计数器实现

    简单的网站访问量计数器实现 首先说明思路: 1.用户向服务器发出访问请求 2.服务器读取访问次数文件,+1,向客户端返回 3.服务器保存新的浏览次数 4.新用户访问,重复123即可 解决方案(主要算法 ...

  4. jsp: 使用application对象实现网站计数器

    任务要求: 在一些站点中,经常会看到网站计数器的功能.要点: 网站的来访人数可能会很多,有可能超过20位整数,大整数类BigInteger 使用application范围的属性保存计数. 用户每次在第 ...

  5. java门户网站项目代码_基于jsp的企业门户网站-JavaEE实现企业门户网站 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的企业门户网站, 该项目可用各类java课程设计大作业中, 企业门户网站的系统架构分为前后台两部分, 最终实现在线上 ...

  6. 网站计数器 web映射

    站点的网站计数器的操作 <%@ page import="java.math.BigInteger" %> <%@ page import="java. ...

  7. java婚庆网站源码_基于jsp的婚庆网站-JavaEE实现婚庆网站 - java项目源码

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的婚庆网站, 该项目可用各类java课程设计大作业中, 婚庆网站的系统架构分为前后台两部分, 最终实现在线上进行婚庆 ...

  8. php 网站计数器,PHP实现网站访问量计数器

    简单的网站访问量计数器实现,具体如下 首先说明思路: 1.用户向服务器发出访问请求 2.服务器读取访问次数文件,+1,向客户端返回 3.服务器保存新的浏览次数 4.新用户访问,重复123即可 解决方案 ...

  9. Java EE 企业网站_基于jsp的企业网站系统-JavaEE实现企业网站系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的企业网站系统, 该项目可用各类java课程设计大作业中, 企业网站系统的系统架构分为前后台两部分, 最终实现在线上 ...

最新文章

  1. 从头开始安装Ubuntu,cuda,cudnn,caffe,tensorflow,ROS
  2. 【数据挖掘知识点五】层次聚类方法的理解
  3. 中科大计算机学院的保研率,中科大2021届保研率44.7%,少年班83.4%,物理计算机人数最多...
  4. 【算法+OpenCV】基于三次Bezier原理的曲线拟合算法C++与OpenCV实现
  5. PMP知识点(五、成本管理)
  6. NOIP2018普及组复赛解析
  7. sharesdk短信验证码的集成
  8. 地图距离算法_ORB-SLAM3 单目地图初始化(终结篇)
  9. 鸿蒙轻内核源码分析:异常钩子模块系统中断异常,如何转储异常信息
  10. 人人都能够做深度学习应用:入门篇
  11. android开发我的新浪微博客户端系列教程
  12. java对象锁的使用
  13. ArcView Spacial Analyst v2.0 1CD
  14. windows应用程序签名
  15. 金融财务数据分析报告PPT模板
  16. SpringMVC 工作原理详解
  17. Python自动化测试框架有哪些?(总结几种)
  18. python柱状图挨在一起_Excel图表,怎么把柱形图紧挨着?-excle柱状图挨在一起
  19. 百度网盘批量分享管理综合工具
  20. 阿里王坚受邀成为 TGO 鲲鹏会荣誉导师

热门文章

  1. golang常用手册:数组、变量作用域、函数
  2. Android 权限问题
  3. 二叉树(中序遍历)非递归
  4. Java_Notes_基础排序总结与对比
  5. Storm累计求和Demo并且在集群上运行
  6. kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
  7. 使用树莓派和kali Linux打造便携式渗透套件
  8. unix grep命令的大致实现
  9. JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
  10. mysql在线修改表结构大数据表的风险与解决办法归纳