在本章中,我们将在JSP中讨论如何实现点击量统计。 点击计数器用于统计有关网站的特定页面上的访问次数。假设人们首先登陆网站主页,通常是index.jsp
页面中有点击计数器。
要实现一个点击计数器,可使用Application隐式对象和关联的getAttribute()
和setAttribute()
方法。
该对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()
方法删除时将被删除。
以下是在应用程序级别设置变量的语法 -
application.setAttribute(String Key, Object Value);
可以使用上述方法设置命中计数器变量并重置相同的变量。以下是读取以前方法设置的变量的方法 -
application.getAttribute(String Key);
每当用户访问页面时,可以读取点击计数器的当前值并将其添加1
,并再次设置它以供将来使用。
示例
此示例显示如何使用JSP来计算特定页面上的匹配总数。如果想计算网站的总点击次数,那么需要在所有JSP页面中包含相同的代码。
打开 Eclipse 创建一个动态Web项目:HitsCounter ,其项目中的JSP文件如下所示 -
文件:index.jsp -
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>页面点击统计</title>
</head>
<body>
<div style="margin: auto; width: 80%">
<%
Integer hitsCount = (Integer) application.getAttribute("hitCounter");
if (hitsCount == null || hitsCount == 0) {
/* First visit */
out.println("欢迎您来到我的网站!");
hitsCount = 1;
} else {
/* return visit */
out.println("欢迎您再次访问我的网站!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<center>
<p>
访问总数:<%=hitsCount%></p>
</center>
</div>
</body>
</html>
在编写完成以上代码后,部署项目并访问以下URL: http://localhost:8080/HitsCounter/index.jsp
,应该会看到以下结果 -
再次刷新上面的网址,应该会看到以下结果-
复制以上index.jsp中的代码,放到另一个JSP文件:index2.jsp文件中,然后访问: http://localhost:8080/HitsCounter/index2.jsp
,应该会看到以下结果 -
可以看到访问总数为:3