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的新值作为总页数命中数。
如果要计算所有页面的命中数,请为所有页面实现上述逻辑。