目录

JSP - 点击计数器( Hits Counter)

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

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

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

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

application.setAttribute(String Key, Object Value);

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

application.getAttribute(String Key);

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

例子 (Example)

此示例显示如何使用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。 这将显示点击计数器值,该值在刷新页面时会增加。 您可以尝试使用不同的浏览器访问该页面,您会发现点击计数器会随着每次点击而不断增加,您将收到如下结果 -

<center>
<p>Welcome back to my website!</p>
<p>Total number of visits: 12</p>
</center>

命中计数器重置

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

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

  • 每次点击,读取表格以获得hitcount的值。

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

  • 显示hitcount的新值作为总页数命中数。

  • 如果要计算所有页面的命中数,请为所有页面实现上述逻辑。

↑回到顶部↑
WIKI教程 @2018