JSP 点击计数器

  • 点击计数器

    在本章中,我们将讨论JSP中的Hits Counter。点击计数器可以告诉您有关网站特定页面的访问次数。通常,假设人们首先登陆您的主页,那么您就会在index.jsp页面上附加一个点击计数器。要实现计数器,您可以使用Application Implicit对象和关联的方法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 。这将显示命中计数器值,该值在刷新页面时会增加。您可以尝试使用不同的浏览器访问页面,并且发现点击计数器将随着每次命中而不断增加,并且您将收到如下结果:
    hitscounter
  • 重置点击计数器

    当您重新启动应用程序(例如Web服务器)时,这将重置您的应用程序变量,并且计数器将重置为零。为了避免这种损失,请考虑以下几点-
    • 用一个计数定义一个数据库表,让我们说命中数。给它分配一个零值。
    • 每次匹配时,请读取表格以获取hitcount的值。
    • 将hitcount的值增加一,并用新值更新表。
    • 将点击数的新值显示为页面总点击数。
    • 如果要计算所有页面的点击数,请对所有页面实施上述逻辑。