关于JSP中application 中 对页面的计数代码,谁给讲解一下啊!!


<%
if(application.getAttribute("counter") == null)
{
application.setAttribute("counter", "1");
}
else
{
String strnum = null;
strnum = application.getAttribute("counter").toString();
int icount = 0;
icount = Integer.valueOf(strnum).intValue();
icount++;
application.setAttribute("counter", Integer.toString(icount));
    }

%>

    您是第<%=application.getAttribute("counter") %>位访问者!

<%
if(application.getAttribute("counter") == null)//判断counter是否在上下文中存在,
{
application.setAttribute("counter", "1");//counter不存在,把counter存进去
}
else
{
String strnum = null;
strnum = application.getAttribute("counter").toString();//获取counter,getAttribute获得的是字符串格式的数据
int icount = 0;
icount = Integer.valueOf(strnum).intValue();//转换为数字格式
icount++;//计数counter自增加1
application.setAttribute("counter", Integer.toString(icount));//又转换回字符串格式....
}

%>

您是第<%=application.getAttribute("counter") %>位访问者!<!-- “<%= %>”这个东西其实就是在jsp页面输出数据,就是Java编译过后的out.print()-->

这需要讲吗?刷新一次就会加一。。这样做不可行了。。

这得知道jsp九大内置对象中独特的application对象,它实际上是个context对象,不过在jsp中换了个名字。context是只应用的上下文,通俗的讲,就是你启动web服务器之后生成的一个管理内存管理运行管理显示管理一切的"管家",只要你的程序没有关闭,那么它就一直存在,你在它里面设置了变量,变量就会一直存在于程序里,所以可以实现统计访问次数的功能,就相当于一个全局变量而已