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 。这将显示命中计数器值,该值在刷新页面时会增加。您可以尝试使用不同的浏览器访问页面,并且发现点击计数器将随着每次命中而不断增加,并且您将收到如下结果: -
重置点击计数器
当您重新启动应用程序(例如Web服务器)时,这将重置您的应用程序变量,并且计数器将重置为零。为了避免这种损失,请考虑以下几点-- 用一个计数定义一个数据库表,让我们说命中数。给它分配一个零值。
- 每次匹配时,请读取表格以获取hitcount的值。
- 将hitcount的值增加一,并用新值更新表。
- 将点击数的新值显示为页面总点击数。
- 如果要计算所有页面的点击数,请对所有页面实施上述逻辑。