开发手册 欢迎您!
软件开发者资料库

JSP - 点击计数器

JSP命中计数器HttpServletResponse对象 - 从基本概念开始,简单易学地学习JSP(Java Server Pages),其中包括Java JSP技术,包括概述,环境设置,体系结构,生命周期,语法,指令,动作,隐式对象,客户端请求,服务器响应,表单数据,HTTP请求标头,响应标头,状态代码,写入过滤器,Cookie处理会话跟踪,文件上载,处理日期,页面重定向,点击计数器,自动刷新,发送电子邮件,标准标签库,数据库访问,XML数据,Java Bean,自定义标签,表达式语言,异常处理,调试,安全性,国际化。

在本章中,我们将讨论JSP中的Hits Counter.点击计数器会告诉您网站特定页面的访问次数.通常你在index.jsp页面上附上一个命中计数器,假设人们首先登陆你的主页.

要实现命中计数器,你可以使用Application Implicit对象和相关方法 getAttribute() setAttribute().

此对象表示JSP页面整个生命周期.初始化JSP页面时会创建此对象,并且在 jspDestroy()方法删除JSP页面时将删除此对象.

以下是语法在应用程序级别设置变量 :

  application.setAttribute(String Key,Object Value);

您可以使用上述方法设置命中计数器变量并重置相同的变量.以下是通过前一个方法读取变量的方法 :

  application.getAttribute(String Key);

每次用户访问您的页面时,您都可以读取点击计数器的当前值并将其增加1并再次设置以供将来使用.

示例

此示例显示如何使用JSP计算特定页面上的总点击次数.如果要计算网站的总点击次数,则必须在所有JSP页面中包含相同的代码.

<%@ page import = "java.io.*,java.util.*" %>         Application object in JSP               <%         Integer hitsCount = (Integer)application.getAttribute("hitCounter");         if( hitsCount ==null || hitsCount == 0 ) {            /* First visit */            out.println("Welcome to my website!");            hitsCount = 1;         } else {            /* return visit */            out.println("Welcome back to my website!");            hitsCount += 1;         }         application.setAttribute("hitCounter", hitsCount);      %>      
         

Total number of visits: <%= hitsCount%>

      
      

现在让我们将上面的代码放在 main.jsp 中,并使用URL http://调用此JSP本地主机:8080/main.jsp中的.这将显示点击计数器值,该值在刷新页面时会增加.您可以尝试使用不同的浏览器访问该页面,您会发现点击计数器会随着每次点击而不断增加,您将收到以下结果:

Welcome back to my website!Total number of visits: 12

命中计数器重置

当您重新启动应用程序(即Web服务器)时,这将重置您的应用程序变量和你的计数器将重置为零.为了避免这种损失,请考虑以下几点和减号;

  • 使用单个计数定义数据库表,让我们说hitcount .为其指定零值.

  • 每次点击,请阅读表格以获取hitcount的值.

  • 将hitcount的值增加1并使用新值更新表格.

  • 显示hitcount的新值作为总页数计数.

  • 如果您想计算所有页面的点击数,请对所有页面实施上述逻辑.