Das beste Hit Counter Servlets Gesamtanzahl der Treffer -Tutorial im Jahr 2024. In diesem Tutorial können Sie Seite hit counter,Beispiele,6,Website-Hit Counter,Beispiele, lernen
Viele Male, könnten Sie daran interessiert, den Gesamtbetrag der Klicks auf eine bestimmte Seite Ihrer Website kennen. Servlet Verwendung diese Klicks zu berechnen sind sehr einfach, da der Lebenszyklus eines Servlet-Container mit seinem Steuer läuft.
Im Folgenden wird auf der Grundlage der Realisierung eines einfachen Servlet-Lebenszyklus page hit counter Schritte unternommen werden:
Hier gehen wir davon aus, dass der Web-Container nicht neu gestartet werden kann. Wenn Sie neu starten oder Servlets zerstört wird, wird der Zähler zurückgesetzt werden.
Dieses Beispiel zeigt, wie eine einfache web page hit counter zu implementieren:
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 的值写入到数据库 } }
Nun wollen wir die oben Servlet kompilieren, und erstellen Sie den folgenden Eintrag in der Datei 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>
Nun, indem Sie http: anrufen, um den Servlets 8080 / TomcatTest / PageHitCounter: // localhost. Dies wird die Seite jedes Mal zu aktualisieren, um den Wert des Zählers 1 zu erhöhen, ist das Ergebnis wie folgt:
Gesamtanzahl der Treffer6 |
Viele Male, könnten Sie daran interessiert, den Gesamtverkehr des gesamten Geländes zu kennen. In Servlets, das sehr einfach ist, können wir den Filter, dies zu tun verwenden.
Im Folgenden ist eine einfache Filter-basierte Life Cycle website hit counter Schritte zur Umsetzung getroffen werden:
Hier gehen wir davon aus, dass der Web-Container nicht neu gestartet werden kann. Wenn Sie neu starten oder Servlets zerstört wird, wird der Trefferzähler zurückgesetzt werden.
Dieses Beispiel zeigt, wie eine einfache Website Trefferzähler zu implementieren:
// 导入必需的 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 的值写入到数据库 } }
Nun wollen wir die oben Servlet kompilieren, und erstellen Sie den folgenden Eintrag in der Datei web.xml:
dede <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> dede
Jetzt zugreifen jede Seite Ihrer Website, wie zum Beispiel http: // localhost: 8080 /. Dies wird in jeder Seite jedes Mal angeklickt wird, der Anstieg der Wert des Zählers 1, wird die folgende Meldung im Protokoll angezeigt werden:
网站访问统计: 1 网站访问统计: 2 网站访问统计: 3 网站访问统计: 4 网站访问统计: 5 dedededededededede