免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

利用Servlet怎么實現一個點擊計數器功能

這期內容當中小編將會給大家帶來有關利用Servlet怎么實現一個點擊計數器功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

高郵網站建設公司創新互聯,高郵網站設計制作,有大型網站制作公司豐富經驗。已為高郵數千家提供企業網站建設服務。企業網站搭建\成都外貿網站建設公司要多少錢,請找那個售后服務好的高郵做網站的公司定做!

一、Web頁面的點擊計數器

以下是基于Servlet生命周期實現一個簡單的頁面點擊計數器需要的步驟:

  • 在init()方法中初始化一個全局變量。
  • 每次調用doGet()或doPost()方法時,增加全局變量。
  • 如果需要,可以使用一個數據庫表來存儲destroy()方法中的全局變量。在下次初始化Servlet時,這個值可以在init()方法內被讀取。這一步是可選的。
  • 如果想計算一個會話內一個頁面的點量擊,那么可以使用isNew()方法來查看該會話內是否已點擊過相同的頁面。這一步是可選的。
  • 可以顯示全局計數器的值來顯示網站中的總點擊量。這一步是可選的。

在這里我假設Web容器不會被重新啟動。如果Web容器被重新啟動或Servlet被銷毀,計數器將被重置。

實例:

這個例子演示了如何實現一個簡單的頁面點擊計數器:

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() 
 { 
   // Reset hit counter.
   hitCount = 0;
 } 
 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
 {
   // Set response content type
   response.setContentType("text/html");
   // This method executes whenever the servlet is hit 
   // increment hitCount 
   hitCount++; 
   PrintWriter out = response.getWriter();
   String title = "Total Number of Hits";
   String docType =
   "<!doctype html public \"-//w3c//dtd html 4.0 " +
   "transitional//en\">\n";
   out.println(docType +
    "<html>\n" +
    "<head><title>" + title + "</title></head>\n" +
    "<body bgcolor=\"#f0f0f0\">\n" +
    "<h2 align=\"center\">" + title + "</h2>\n" +
    "<h3 align=\"center\">" + hitCount + "</h3>\n" +
    "</body></html>");
 }
 public void destroy() 
 { 
   // This is optional step but if you like you
   // can write hitCount value in your database.
 } 
} 

現在編譯上述Servlet并在web.xml文件中創建以下條目:

....
 <servlet>
   <servlet-name>PageHitCounter</servlet-name>
   <servlet-class>PageHitCounter</servlet-class>
 </servlet>
 <servlet-mapping>
   <servlet-name>PageHitCounter</servlet-name>
   <url-pattern>/PageHitCounter</url-pattern>
 </servlet-mapping>
....

現在使用URL http://localhost:8080/PageHitCounter來調用這個Servlet。每次頁面刷新時,計數器的值都會加1,這將產生如下所示的結果:

利用Servlet怎么實現一個點擊計數器功能

二、網站點擊計數器

很多時候,可能有興趣知道整個網站的總點擊量。在Servlet中,這也是非常簡單的,可以使用過濾器實現這一點。

以下是實現一個基于過濾器生命周期的簡單的網站點擊計數器需要的步驟:

  • 在過濾器的init()方法中初始化一個全局變量。
  • 每次調用doFilter方法時,增加全局變量。
  • 如果需要,可以使用一個數據庫表來存儲過濾器的destroy()方法中的全局變量的值。在下次初始化過濾器時,該值可以在init()方法內被讀取。這一步是可選的。

在這里我假設Web容器不會被重新啟動。如果Web容器被重新啟動或Servlet被銷毀,點擊計數器將被重置。

實例:

這個例子演示了如何實現一個簡單的網站點擊計數器:

// Import required java libraries
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{
   // Reset hit counter.
   hitCount = 0;
 }
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException {
   // increase counter by one
   hitCount++;
   // Print the counter.
   System.out.println("Site visits count :"+ hitCount );
   // Pass request back down the filter chain
   chain.doFilter(request,response);
 }
 public void destroy() 
 { 
   // This is optional step but if you like you
   // can write hitCount value in your database.
 } 
} 

現在來編譯上述Servlet并在web.xml文件中創建以下條目:

....
<filter>
  <filter-name>SiteHitCounter</filter-name>
  <filter-class>SiteHitCounter</filter-class>
</filter>
<filter-mapping>
  <filter-name>SiteHitCounter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
....

現在調用任意URL如URL:http://localhost:8080/。每次任意頁面被點擊時,計數器的值都會加1并且會在日志中顯示如下所示的消息:

利用Servlet怎么實現一個點擊計數器功能

上述就是小編為大家分享的利用Servlet怎么實現一個點擊計數器功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。

分享題目:利用Servlet怎么實現一個點擊計數器功能
新聞來源:http://m.newbst.com/article22/pgcsjc.html

成都網站建設公司_創新互聯,為您提供建站公司定制開發網站制作面包屑導航全網營銷推廣App開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設