JSP - 点击计数器


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

要实现点击计数器,您可以使用应用程序隐式对象和关联方法getAttribute()setAttribute()

该对象是 JSP 页面整个生命周期的表示。该对象在 JSP 页面初始化时创建,并在通过jspDestroy()方法删除 JSP 页面时删除。

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

application.setAttribute(String Key, Object Value);

您可以使用上述方法设置命中计数器变量并重置同一变量。以下是读取先前方法设置的变量的方法 -

application.getAttribute(String Key);

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

例子

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

<%@ page import = "java.io.*,java.util.*" %>

<html>
   <head>
      <title>Application object in JSP</title>
   </head>
   
   <body>
      <%
         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);
      %>
      <center>
         <p>Total number of visits: <%= hitsCount%></p>
      </center>
   
   </body>
</html>

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

Welcome back to my website!

Total number of visits: 12

计数器重置

当您重新启动应用程序(即网络服务器)时,这将重置您的应用程序变量并且您的计数器将重置为零。为了避免这种损失,请考虑以下几点 -

  • 定义一个具有单个计数的数据库表,假设为 hitcount。为其指定零值。

  • 每次点击时,读取表格以获取点击计数的值。

  • 将 hitcount 的值增加 1 并用新值更新表。

  • 将新的点击数值显示为页面总点击数。

  • 如果您想统计所有页面的点击次数,请为所有页面实现上述逻辑。