JSP 计数器

原创 2004年10月12日 11:16:00

    许多地方都会用到的JSP计数器,希望对大家有帮助,做为收藏之用吧。

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="java.io.*"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计数器</title>
</head>

<%!
//同步更新计数器
    synchronized void counter(){
        ServletContext application=getServletContext();   //构造application对象(可选)
        String szPath=application.getRealPath("/");           //得到当前路径
        szPath=szPath+"hits.txt";                                          //计数器文件 0-9999999999999...
        String szRecord="";                                                    //记数 String
        int nRecord=0;                                                             //记数 int
        try{
            BufferedReader file=new BufferedReader(new FileReader(szPath));
            szRecord=file.readLine();                                       //读取计数器文件
        }
        catch(Exception e){
            System.out.println(e);
        }
  if(szRecord==null){
   szRecord="0";                                                                  //如果计数器文件为空
        }
        nRecord=java.lang.Integer.parseInt(szRecord)+1;    //计数器+1
  try{
            File f=new File(szPath);
            PrintWriter pw=new PrintWriter(new FileWriter(f));
            pw.print(nRecord);                                                 //写文件
            pw.close();
        }
        catch(Exception e){
            System.out.println(e);
        }
    } 
%>

<% 
//显示计数器
    if(session.isNew()){                                                       //如果是新会话
        counter();
    }   
    String Path=application.getRealPath("/");
    String szPath=Path+"hits.txt";
    String szRecord="";
    BufferedReader file=new BufferedReader(new FileReader(szPath));
    try{
        szRecord=file.readLine();
    }
    catch(Exception e){
        System.out.println(e);
    }
   
 //显示7位数字gif图像
    String szOut="<body topmargin='0' leftmargin='0'>";
    int i=0;
    int k=7-szRecord.length();                                            //"0"的个数
    for (i=0;i<k-1;i++){                                                         //显示"0"
        szOut=szOut+"<img src='images/0.gif'>";
    }       
    for (i=0;i<szRecord.length();i++){                               //显示非"0"
        szOut=szOut+"<img src='images/"+ szRecord.charAt(i) +".gif'>";
    }
    szOut=szOut+"</body>";
    out.println(szRecord);    
%>
</html>


(请注意!引用、转贴本文应注明原作者:Rosen Jiang 以及出处:
http://blog.csdn.net/rosen

jsp监听器实现在线人数统计

在网站中经常需要进行在线人数的统计。过去的一般做法是结合登录和退出功能,即当用户输入用户名密码进行登录的时候计数器加1,然后当用户点击退出按钮退出系统的时候计数器减1。这种处理方式存在一些缺点,例如:...
  • liuao107329
  • liuao107329
  • 2014年11月15日 15:18
  • 1471

JSP计数器--网站统计访问量

计数器 你是第位访问者
  • u012110719
  • u012110719
  • 2015年03月24日 19:22
  • 1642

jsp+servlet实现在线简易计算器

1:jsp String path = request.getContextPath(); String basePath = request.getScheme()+"://"+requ...
  • pangqiandou
  • pangqiandou
  • 2016年11月15日 16:00
  • 1338

JSP和Servlet(测试计数器)

ps:application是在整个服务器中起作用的,所以只要服务器不中断,数据还在保留。 commit.jsp My JSP 'conmit.jsp' starting page ...
  • GHQLYJ
  • GHQLYJ
  • 2017年08月02日 11:19
  • 218

JSP内置对象application对象实战——实现网页计数器

前面和大家说过application对象有点类似于java里面的全局变量,因此可以将当前访问网站的数量保存在application对象当中,在每次访问网页时,实现将保存在application对象中的...
  • Allureyou
  • Allureyou
  • 2017年01月04日 11:33
  • 918

JSP初体验之applicatin实现网页计数器

首先,什么是application? 所以,我们直接在jsp文件中使用:
  • a18792721831
  • a18792721831
  • 2017年07月25日 20:04
  • 80

Jsp标签掉JavaBean属性实现计数器功能应注意的问题

今天看到一篇文章关于用Jsp标签调用JavaBean 实现计数器功能的例子,我咋一看调用的顺序和最后的结果明显不符,就做了个小实验,并用debug模式跟踪调用的过程,结果果然证明文章中是错的,好了,不...
  • u012859193
  • u012859193
  • 2014年04月04日 14:16
  • 1134

jsp网站访问量计数器

计数器是一般网站必备的东东,别小看它了,每当站长看着小小计数器上的数字飞速增长的时候,感觉实在是好极了。以前我们用cgi、asp来写计数器,这方面的文章很多了,在这里,我们将会采用目前比较流行的jsp...
  • lnslss
  • lnslss
  • 2014年12月04日 11:58
  • 490

JSP(7):网站计数器(1)

servletContext讲解
  • u014071328
  • u014071328
  • 2014年04月19日 16:42
  • 337

jsp刷新不变计数器

  • 2008年04月03日 11:07
  • 613B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSP 计数器
举报原因:
原因补充:

(最多只允许输入30个字)