位置:首页 > > JSP网站计数器

JSP网站计数器

点击计数器会告诉你关于你的网站的某个特定页面上的访问次数。通常附加一个计数器在index.jsp页面假设人们对你的主页第一访问。

要实现一个计数器,您可以利用应用程序隐式对象和相关方法getAttribute() 和 setAttribute()方法。

这个对象是JSP页面在其整个生命周期中的表示。当JSP页面初始化时创建此对象,当JSP页面被jspDestroy()方法删除。

以下是语法在应用程序级设置一个变量:

application.setAttribute(String Key, Object Value);

可以使用上述方法来设置一个计数器变量和重置同一个变量。以下是读取由先前的方法设置变量的方法:

application.getAttribute(String Key);

每次使用访问您的网页,你可以读计数器的当前值,并增加了一个,然后重新设置,以备将来使用。

例如:

这个例子显示了如何使用JSP来计算点击量的特定页面上的总人数。如果你要计算你的网站的总点击量,那么你就必须包括相同的代码在所有的JSP页面。

<%@ page import="java.io.*,java.util.*" %>

<html>
<head>
<title>Applcation 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。这将显示计数器值,当您刷新页面,其中会增加每次。您可以尝试使用不同的浏览器来访问页面,你会发现,计数器将保持与每一击增加,并会显示结果的东西如下:

Welcome back to my website!

Total number of visits: 12

点击计数器重置:

如果你重新启动应用程序,即。 Web服务器,这将重置应用程序变量并且计数器将重置为零。为了避免这种丢失,你可以实现你的计数器在如下专业的方式:

  • 定义一个数据库表用单一数,点击次数指定零值给它。

  • 随着每一击,读取表来获得点击次数的值。

  • 由1增加点击次数的值,并用新的值来更新该表的值。

  • 显示点击次数的新值作为总页面点击计数。

  • 如果你要计算命中在所有页面中,所有页面实现上述逻辑。