成免费的crm,久久国产精品新农夫导航新妓网,恋夜秀场全部视频安卓手机,女校花强奷在线播放A级

JSP 點(diǎn)擊量統(tǒng)計(jì)

jsp 點(diǎn)擊量統(tǒng)計(jì)

有時(shí)候我們需要知道某個(gè)頁(yè)面被訪問(wèn)的次數(shù),這時(shí)我們就需要在頁(yè)面上添加頁(yè)面統(tǒng)計(jì)器,頁(yè)面訪問(wèn)的統(tǒng)計(jì)一般在用戶第一次載入時(shí)累加該頁(yè)面的訪問(wèn)數(shù)上。

要實(shí)現(xiàn)一個(gè)計(jì)數(shù)器,您可以利用應(yīng)用程序隱式對(duì)象和相關(guān)方法getattribute()和setattribute()來(lái)實(shí)現(xiàn)。

這個(gè)對(duì)象表示jsp頁(yè)面的整個(gè)生命周期中。當(dāng)jsp頁(yè)面初始化時(shí)創(chuàng)建此對(duì)象,當(dāng)jsp頁(yè)面調(diào)用jspdestroy()時(shí)刪除該對(duì)象。

以下是在應(yīng)用中創(chuàng)建變量的語(yǔ)法:

application.setattribute(string key, object value);

您可以使用上述方法來(lái)設(shè)置一個(gè)計(jì)數(shù)器變量及更新該變量的值。讀取該變量的方法如下:

application.getattribute(string key);

在頁(yè)面每次被訪問(wèn)時(shí),你可以讀取計(jì)數(shù)器的當(dāng)前值,并遞增1,然后重新設(shè)置,在下一個(gè)用戶訪問(wèn)時(shí)就將新的值顯示在頁(yè)面上。

實(shí)例演示

該實(shí)例將介紹如何使用jsp來(lái)計(jì)算特定頁(yè)面訪問(wèn)的總?cè)藬?shù)。如果你要計(jì)算你網(wǎng)站使用頁(yè)面的總點(diǎn)擊量,那么你就必須將該代碼放在所有的jsp頁(yè)面上。

<%@ page language="java" contenttype="text/html; charset=utf-8"
    pageencoding="utf-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>訪問(wèn)量統(tǒng)計(jì)</title>
</head>
<body>
<%
    integer hitscount = 
      (integer)application.getattribute("hitcounter");
    if( hitscount ==null || hitscount == 0 ){
       /* 第一次訪問(wèn) */
       out.println("歡迎訪問(wèn)碩編程!");
       hitscount = 1;
    }else{
       /* 返回訪問(wèn)值 */
       out.println("歡迎再次訪問(wèn)碩編程!");
       hitscount += 1;
    }
    application.setattribute("hitcounter", hitscount);
%>

<p>頁(yè)面訪問(wèn)量為: <%= hitscount%></p>


</body>
</html>

現(xiàn)在我們將上面的代碼放置于main.jsp文件上,并訪問(wèn)http://localhost:8080/testjsp/main.jsp文件。你會(huì)看到頁(yè)面會(huì)生成個(gè)計(jì)數(shù)器,在我們每次刷新頁(yè)面時(shí),計(jì)數(shù)器都會(huì)發(fā)生變化(每次刷新增加1)。

你也可以通過(guò)不同的瀏覽器訪問(wèn),計(jì)數(shù)器會(huì)在每次訪問(wèn)后增加1。如下所示:

復(fù)位計(jì)數(shù)器

使用以上方法,在 web 服務(wù)器重啟后,計(jì)數(shù)器會(huì)被復(fù)位為 0,即前面保留的數(shù)據(jù)都會(huì)消失,你可以使用以下幾種方式解決該問(wèn)題:

  • 在數(shù)據(jù)庫(kù)中定義一個(gè)用于統(tǒng)計(jì)網(wǎng)頁(yè)訪問(wèn)量的數(shù)據(jù)表 count,字段為 hitcount,hitcount 默認(rèn)值為0,將統(tǒng)計(jì)數(shù)據(jù)寫入到數(shù)據(jù)表中。
  • 在每次訪問(wèn)時(shí)我們讀取表中 hitcount 字段。

  • 每次訪問(wèn)時(shí)讓 hitcount 自增 1。
  • 在頁(yè)面上顯示新的 hitcount 值作為頁(yè)面的訪問(wèn)量。

  • 如果你需要統(tǒng)計(jì)每個(gè)頁(yè)面的訪問(wèn)量,你可以使用以上邏輯將代碼添加到所有頁(yè)面上。
相關(guān)文章