日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Servlet教程:Servlet點(diǎn)擊計(jì)數(shù)器

servlet 點(diǎn)擊計(jì)數(shù)器

網(wǎng)頁(yè)點(diǎn)擊計(jì)數(shù)器

很多時(shí)候,您可能有興趣知道網(wǎng)站的某個(gè)特定頁(yè)面上的總點(diǎn)擊量。使用 Servlet 來(lái)計(jì)算這些點(diǎn)擊量是非常簡(jiǎn)單的,因?yàn)橐粋€(gè) Servlet 的生命周期是由它運(yùn)行所在的容器控制的。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作與策劃設(shè)計(jì),溫江網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:溫江等地區(qū)。溫江做網(wǎng)站價(jià)格咨詢:18982081108

以下是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的基于 Servlet 生命周期的網(wǎng)頁(yè)點(diǎn)擊計(jì)數(shù)器需要采取的步驟:

  • 在 init() 方法中初始化一個(gè)全局變量。
  • 每次調(diào)用 doGet() 或 doPost() 方法時(shí),都增加全局變量。
  • 如果需要,您可以使用一個(gè)數(shù)據(jù)庫(kù)表來(lái)存儲(chǔ)全局變量的值在 destroy() 中。在下次初始化 Servlet 時(shí),該值可在 init() 方法內(nèi)被讀取。這一步是可選的。
  • 如果您只想對(duì)一個(gè) session 會(huì)話計(jì)數(shù)一次頁(yè)面點(diǎn)擊,那么請(qǐng)使用 isNew() 方法來(lái)檢查該 session 會(huì)話是否已點(diǎn)擊過(guò)相同頁(yè)面。這一步是可選的。
  • 您可以通過(guò)顯示全局計(jì)數(shù)器的值,來(lái)在網(wǎng)站上展示頁(yè)面的總點(diǎn)擊量。這一步是可選的。

在這里,我們假設(shè) Web 容器將無(wú)法重新啟動(dòng)。如果是重新啟動(dòng)或 Servlet 被銷毀,計(jì)數(shù)器將被重置。

實(shí)例

本實(shí)例演示了如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)點(diǎn)擊計(jì)數(shù)器:

import java.io.*;
import java.sql.Date;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class PageHitCounter extends HttpServlet{
    
  private int hitCount; 
               
  public void init() 
  { 
     // 重置點(diǎn)擊計(jì)數(shù)器
     hitCount = 0;
  } 

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 設(shè)置響應(yīng)內(nèi)容類型
      response.setContentType("text/html");
      // 該方法在 Servlet 被點(diǎn)擊時(shí)執(zhí)行 
      // 增加 hitCount 
      hitCount++; 
      PrintWriter out = response.getWriter();
      String title = "總點(diǎn)擊量";
      String docType =
      "\n";
      out.println(docType +
        "\n" +
        "" + title + "\n" +
        "\n" +
        "

" + title + "

\n" + "

" + hitCount + "

\n" + ""); } public void destroy() { // 這一步是可選的,但是如果需要,您可以把 hitCount 的值寫(xiě)入到數(shù)據(jù)庫(kù) } }

現(xiàn)在讓我們來(lái)編譯上面的 Servlet,并在 web.xml 文件中創(chuàng)建以下條目:

....
 
     PageHitCounter
     PageHitCounter
 

 
     PageHitCounter
     /PageHitCounter
 
....

現(xiàn)在通過(guò)訪問(wèn) URL http://localhost:8080/PageHitCounter 來(lái)調(diào)用這個(gè) Servlet。這將會(huì)在每次頁(yè)面刷新時(shí),把計(jì)數(shù)器的值增加 1,結(jié)果如下所示:

總點(diǎn)擊量

6

網(wǎng)站點(diǎn)擊計(jì)數(shù)器

很多時(shí)候,您可能有興趣知道整個(gè)網(wǎng)站的總點(diǎn)擊量。在 Servlet 中,這也是非常簡(jiǎn)單的,我們可以使用過(guò)濾器做到這一點(diǎn)。

以下是實(shí)現(xiàn)一個(gè)簡(jiǎn)單的基于過(guò)濾器生命周期的網(wǎng)站點(diǎn)擊計(jì)數(shù)器需要采取的步驟:

  • 在過(guò)濾器的 init() 方法中初始化一個(gè)全局變量。
  • 每次調(diào)用 doFilter 方法時(shí),都增加全局變量。
  • 如果需要,您可以使用一個(gè)數(shù)據(jù)庫(kù)表來(lái)存儲(chǔ)全局變量的值在過(guò)濾器的 destroy() 中。在下次初始化過(guò)濾器時(shí),該值可在 init() 方法內(nèi)被讀取。這一步是可選的。

在這里,我們假設(shè) Web 容器將無(wú)法重新啟動(dòng)。如果是重新啟動(dòng)或 Servlet 被銷毀,點(diǎn)擊計(jì)數(shù)器將被重置。

實(shí)例

本實(shí)例演示了如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的網(wǎng)站點(diǎn)擊計(jì)數(shù)器:

// 導(dǎo)入必需的 java 庫(kù)
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

public class SiteHitCounter implements Filter{
    
  private int hitCount; 
               
  public void  init(FilterConfig config) 
                    throws ServletException{
     // 重置點(diǎn)擊計(jì)數(shù)器
     hitCount = 0;
  }

  public void  doFilter(ServletRequest request, 
              ServletResponse response,
              FilterChain chain) 
              throws java.io.IOException, ServletException {

      // 把計(jì)數(shù)器的值增加 1
      hitCount++;

      // 輸出計(jì)數(shù)器
      System.out.println("網(wǎng)站訪問(wèn)統(tǒng)計(jì):"+ hitCount );

      // 把請(qǐng)求傳回到過(guò)濾器鏈
      chain.doFilter(request,response);
  }
  public void destroy() 
  { 
      // 這一步是可選的,但是如果需要,您可以把 hitCount 的值寫(xiě)入到數(shù)據(jù)庫(kù)
  } 
} 

現(xiàn)在讓我們來(lái)編譯上面的 Servlet,并在 web.xml 文件中創(chuàng)建以下條目:

....

   SiteHitCounter
   SiteHitCounter



   SiteHitCounter
   /*


....

現(xiàn)在訪問(wèn)網(wǎng)站的任意頁(yè)面,比如 http://localhost:8080/。這將會(huì)在每次任意頁(yè)面被點(diǎn)擊時(shí),把計(jì)數(shù)器的值增加 1,它會(huì)在日志中顯示以下消息:

網(wǎng)站訪問(wèn)統(tǒng)計(jì): 1
網(wǎng)站訪問(wèn)統(tǒng)計(jì): 2
網(wǎng)站訪問(wèn)統(tǒng)計(jì): 3
網(wǎng)站訪問(wèn)統(tǒng)計(jì): 4
網(wǎng)站訪問(wèn)統(tǒng)計(jì): 5
..................

新聞標(biāo)題:創(chuàng)新互聯(lián)Servlet教程:Servlet點(diǎn)擊計(jì)數(shù)器
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/cohoeos.html