在本章中,我们将讨论JSP中的Hits Counter.点击计数器会告诉您网站特定页面的访问次数.通常你在index.jsp页面上附上一个命中计数器,假设人们首先登陆你的主页.
要实现命中计数器,你可以使用Application Implicit对象和相关方法 getAttribute()和 setAttribute().
此对象表示JSP页面整个生命周期.初始化JSP页面时会创建此对象,并且在 jspDestroy()方法删除JSP页面时将删除此对象.
以下是语法在应用程序级别设置变量 :
application.setAttribute(String Key,Object Value);
您可以使用上述方法设置命中计数器变量并重置相同的变量.以下是通过前一个方法读取变量的方法 :
application.getAttribute(String Key);
每次用户访问您的页面时,您都可以读取点击计数器的当前值并将其增加1并再次设置以供将来使用.
示例
此示例显示如何使用JSP计算特定页面上的总点击次数.如果要计算网站的总点击次数,则必须在所有JSP页面中包含相同的代码.
<%@ page import = "java.io.*,java.util.*" %>Application object in JSP <% 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); %>Total number of visits: <%= hitsCount%>
现在让我们将上面的代码放在 main.jsp 中,并使用URL http://调用此JSP本地主机:8080/main.jsp中的.这将显示点击计数器值,该值在刷新页面时会增加.您可以尝试使用不同的浏览器访问该页面,您会发现点击计数器会随着每次点击而不断增加,您将收到以下结果:
Welcome back to my website!Total number of visits: 12
命中计数器重置
当您重新启动应用程序(即Web服务器)时,这将重置您的应用程序变量和你的计数器将重置为零.为了避免这种损失,请考虑以下几点和减号;
使用单个计数定义数据库表,让我们说hitcount .为其指定零值.
每次点击,请阅读表格以获取hitcount的值.
将hitcount的值增加1并使用新值更新表格.
显示hitcount的新值作为总页数计数.
如果您想计算所有页面的点击数,请对所有页面实施上述逻辑.