บทช่วยสอน hit counter Servlet จำนวนผู้ชมทั้งหมด ที่ดีที่สุดในปี 2024 ในบทช่วยสอนนี้ คุณสามารถเรียนรู้ เคาน์เตอร์หน้าตี,ตัวอย่าง,6,เว็บไซต์นับจำนวนเยี่ยมชม,ตัวอย่าง,
หลายครั้งคุณอาจจะสนใจที่จะทราบจำนวนของการคลิกบนหน้าหนึ่งของเว็บไซต์ของคุณ ใช้ในการคำนวณ Servlet คลิกเหล่านี้ได้ง่ายมากเพราะวงจรชีวิตของภาชนะ Servlet โดยการควบคุมของตนกำลังทำงานอยู่
ต่อไปนี้จะขึ้นอยู่กับสำนึกของชีวิต Servlet ขั้นตอนวงจร page hit counter ง่ายที่จะถูกนำไปนี้:
ที่นี่เราคิดว่าเว็บคอนเทนเนอร์ไม่สามารถเริ่มต้นใหม่ หากคุณเริ่มต้นหรือ Servlet จะถูกทำลายเคาน์เตอร์จะถูกรีเซ็ต
ตัวอย่างนี้แสดงให้เห็นถึงวิธีการใช้เคาน์เตอร์ตีหน้าเว็บง่าย:
package com.w3big.test; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class PageHitCounter */ @WebServlet("/PageHitCounter") public class PageHitCounter extends HttpServlet { private static final long serialVersionUID = 1L; private int hitCount; public void init() { // 重置点击计数器 hitCount = 0; } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); // 增加 hitCount hitCount++; PrintWriter out = response.getWriter(); String title = "总点击量"; String docType = "<!DOCTYPE html> \n"; out.println(docType + "<html>\n" + "<head><title>" + title + "</title></head>\n" + "<body bgcolor=\"#f0f0f0\">\n" + "<h1 align=\"center\">" + title + "</h1>\n" + "<h2 align=\"center\">" + hitCount + "</h2>\n" + "</body></html>"); } public void destroy() { // 这一步是可选的,但是如果需要,您可以把 hitCount 的值写入到数据库 } }
ตอนนี้ขอรวบรวม Servlet ข้างต้นและสร้างรายการต่อไปนี้ในไฟล์ web.xml ไปนี้:
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>PageHitCounter</servlet-name> <servlet-class>com.w3big.test.PageHitCounter</servlet-class> </servlet> <servlet-mapping> <servlet-name>PageHitCounter</servlet-name> <url-pattern>/TomcatTest/PageHitCounter</url-pattern> </servlet-mapping> </web-app>
ตอนนี้โดยไปที่ http: จะเรียก Servlet 8080 / TomcatTest / PageHitCounter: // localhost นี้จะรีเฟรชหน้าทุกครั้งเพื่อเพิ่มมูลค่าของเคาน์เตอร์ 1 ผลที่ได้จะเป็นดังนี้:
จำนวนผู้ชมทั้งหมด6 |
หลายครั้งคุณอาจจะสนใจที่จะรู้ว่าการจราจรรวมของทั้งเว็บไซต์ ใน Servlet นี้เป็นเรื่องง่ายมากที่เราสามารถใช้ตัวกรองการทำเช่นนี้
ต่อไปนี้คือการใช้เว็บไซต์วงจรชีวิตที่เรียบง่ายกรองตามขั้นตอนตีเคาน์เตอร์จะต้องดำเนินการ:
ที่นี่เราคิดว่าเว็บคอนเทนเนอร์ไม่สามารถเริ่มต้นใหม่ หากคุณเริ่มต้นหรือ Servlet จะถูกทำลายเคาน์เตอร์ตีจะถูกรีเซ็ต
ตัวอย่างนี้แสดงให้เห็นถึงวิธีการใช้เคาน์เตอร์เว็บไซต์ตีง่าย:
// 导入必需的 java 库 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{ // 重置点击计数器 hitCount = 0; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, ServletException { // 把计数器的值增加 1 hitCount++; // 输出计数器 System.out.println("网站访问统计:"+ hitCount ); // 把请求传回到过滤器链 chain.doFilter(request,response); } public void destroy() { // 这一步是可选的,但是如果需要,您可以把 hitCount 的值写入到数据库 } }
ตอนนี้ขอรวบรวม Servlet ข้างต้นและสร้างรายการต่อไปนี้ในไฟล์ web.xml ไปนี้:
thth <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> thth
ตอนนี้เข้าถึงหน้าใด ๆ ของเว็บไซต์ของคุณเช่น http: // localhost: 8080 / นี้จะอยู่ในหน้าเว็บใด ๆ ในแต่ละครั้งที่มีการคลิกเพิ่มมูลค่าของเคาน์เตอร์ที่ 1 ก็จะแสดงข้อความต่อไปนี้ในบันทึก:
网站访问统计: 1 网站访问统计: 2 网站访问统计: 3 网站访问统计: 4 网站访问统计: 5 ththththththththth