JSP 点击量统计
有时候咱们须要知道某个页面被访问的次数,这时咱们就须要在页面上添加页面统计器,页面访问的统计通常在用户第一次载入时累加该页面的访问数上。html
要实现一个计数器,您能够利用应用程序隐式对象和相关方法getAttribute()和setAttribute()来实现。java
这个对象表示JSP页面的整个生命周期中。当JSP页面初始化时建立此对象,当JSP页面调用jspDestroy()时删除该对象。web
如下是在应用中建立变量的语法:数据库
application.setAttribute(String Key, Object Value);
您可使用上述方法来设置一个计数器变量及更新该变量的值。读取该变量的方法以下:浏览器
application.getAttribute(String Key);
在页面每次被访问时,你能够读取计数器的当前值,并递增1,而后从新设置,在下一个用户访问时就将新的值显示在页面上。服务器
实例演示
该实例将介绍如何使用JSP来计算特定页面访问的总人数。若是你要计算你网站使用页面的总点击量,那么你就必须将该代码放在全部的JSP页面上。app
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <html> <html> <head> <title>访问量统计</title> </head> <body> <% Integer hitsCount = (Integer)application.getAttribute("hitCounter"); if( hitsCount ==null || hitsCount == 0 ){ /* 第一次访问 */ out.println("欢迎访问菜鸟教程!"); hitsCount = 1; }else{ /* 返回访问值 */ out.println("欢迎再次访问菜鸟教程!"); hitsCount += 1; } application.setAttribute("hitCounter", hitsCount); %> <p>页面访问量为: <%= hitsCount%></p> </body> </html>
如今咱们将上面的代码放置于main.jsp文件上,并访问http://localhost:8080/testjsp/main.jsp文件。你会看到页面会生成个计数器,在咱们每次刷新页面时,计数器都会发生变化(每次刷新增长1)。jsp
你也能够经过不一样的浏览器访问,计数器会在每次访问后增长1。以下所示:网站
复位计数器
使用以上方法,在 web 服务器重启后,计数器会被复位为 0,即前面保留的数据都会消失,你可使用如下几种方式解决该问题:spa
- 在数据库中定义一个用于统计网页访问量的数据表 count,字段为 hitcount,hitcount 默认值为0,将统计数据写入到数据表中。
- 在每次访问时咱们读取表中 hitcount 字段。
- 每次访问时让 hitcount 自增 1。
- 在页面上显示新的 hitcount 值做为页面的访问量。
- 若是你须要统计每一个页面的访问量,你可使用以上逻辑将代码添加到全部页面上。