网站计数器—JSP中的JAVA程序片

在JSP中,在"<% %>"之间书写的程序代码称为Java程序片,并且可以在其中插入HTML语句。

一个JSP页面中可以有多个Java程序片。

但是,在Java程序片中声明的变量在它们所在的JSP页面的所用程序片及表达式中都有效。

在程序片中声明的变量只在页面有效,是局部变量,它在不同的客户访问同一个页面的时,此变量是不能共享的。

但如果是在"<%! %>"之间声明的变量就可以在不同的客户之间共享,其有效范围是整个web应用,在服务器关闭时变量才会被释放.

"<%= %>"可以直接输出变量或表达式的值,变量或表达式的值将作为一个字符串在浏览器中输出。

下面是一个简单的计数器,用于统计当前已访问网站的人数:

<%! int counter=0;
        void counterFun(){
            counter++;
        }
     %>
    <%counterFun(); %>
    网站计数器<br>
    你是第<%=counter %>位访问者

反复刷新网页,可以看见counter在不断增加,即使同时打开多个页面counter依旧在依次整体增加

但是,我们将服务器关闭之后再打开,counter又回到了1

可见,计数器变量将在客户间共享,直至服务器关闭!

 

如果我们想要在服务器关闭之后依然保存当前访问次数,并且在下次启动时在此基础上增加

我们可以在服务器端新建一个文本用于保存当前访问次数,每次访问网页时都读取这个文本然后次数加一显示并保存。

        //读取
    FileInputStream in=new FileInputStream("count.txt");
    DataInputStream dataIn=new DataInputStream(in);
    number=dataIn.readInt();
        //显示当前已访问次数 
    number++;
    in.close();
    dataIn.close();

        //写入
    FileOutputStream out=new FileOutputStream("count.txt");
    DataOutputStream dataOut=new DataOutputStream(out);
    dataOut.writeInt(number);
    out.close();
    dataOut.close();        

但我感觉应该有更直接的方法。

 

转载于:https://www.cnblogs.com/NextLight/p/6684258.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值