Statistik klik JSP


Kadangkala kita perlu mengetahui bilangan kali halaman tertentu telah dilawati Dalam kes ini, kita perlu menambah statistik halaman pada halaman tersebut biasanya mengumpulkan lawatan ke halaman tersebut pengguna memuatkannya buat kali pertama.

Untuk melaksanakan pembilang, anda boleh menggunakan objek tersirat aplikasi dan kaedah berkaitan getAttribute() dan setAttribute() untuk mencapainya.

Objek ini mewakili keseluruhan kitaran hayat halaman JSP. Objek ini dicipta apabila halaman JSP dimulakan dan dipadamkan apabila halaman JSP memanggil jspDestroy().

Berikut ialah sintaks untuk mencipta pembolehubah dalam aplikasi anda:

application.setAttribute(String Key, Object Value);

Anda boleh menggunakan kaedah di atas untuk menetapkan pembolehubah pembilang dan mengemas kini nilai pembolehubah. Kaedah untuk membaca pembolehubah ini adalah seperti berikut:

application.getAttribute(String Key);

Setiap kali halaman diakses, anda boleh membaca nilai semasa pembilang, menambahnya sebanyak 1, dan kemudian menetapkannya semula, dan nilai baharu akan menjadi digunakan apabila pengguna seterusnya mengakses dipaparkan pada halaman.


Contoh Demonstrasi

Contoh ini akan memperkenalkan cara menggunakan JSP untuk mengira jumlah bilangan orang yang melawat halaman tertentu. Jika anda ingin mengira jumlah klik pada halaman yang digunakan di tapak web anda, maka anda mesti meletakkan kod ini pada semua halaman JSP.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<html>
<html>
<head>
<title>访问量统计</title>
</head>
<body>
<%
    Integer hitsCount = 
      (Integer)application.getAttribute("hitCounter");
    if( hitsCount ==null || hitsCount == 0 ){
       /* 第一次访问 */
       out.println("欢迎访问php中文网!");
       hitsCount = 1;
    }else{
       /* 返回访问值 */
       out.println("欢迎再次访问php中文网!");
       hitsCount += 1;
    }
    application.setAttribute("hitCounter", hitsCount);
%>

<p>页面访问量为: <%= hitsCount%></p>


</body>
</html>

Sekarang kami meletakkan kod di atas pada fail main.jsp dan mengakses fail http://localhost:8080/testjsp/main.jsp. Anda akan melihat bahawa halaman akan menjana pembilang, dan setiap kali kami memuat semula halaman, pembilang akan berubah (bertambah 1 untuk setiap muat semula).

Anda juga boleh mengaksesnya melalui penyemak imbas yang berbeza, dan kaunter akan meningkat sebanyak 1 selepas setiap lawatan. Seperti yang ditunjukkan di bawah:



Reset counter

Menggunakan kaedah di atas, kaunter akan ditetapkan semula selepas pelayan web dimulakan semula. ialah 0, iaitu, data yang disimpan sebelum ini akan hilang Anda boleh menggunakan kaedah berikut untuk menyelesaikan masalah ini:

  • Tentukan kiraan jadual data dalam pangkalan data untuk mengira web. lawatan halaman. Medan ialah hitcount, nilai lalai hitcount ialah 0 dan data statistik ditulis pada jadual data.

  • Pada setiap lawatan kami membaca medan hitcount dalam jadual.


  • Tingkatkan bilangan pukulan sebanyak 1 untuk setiap lawatan.

  • Paparkan nilai hitcount baharu pada halaman sebagai bilangan paparan halaman.


  • Jika anda perlu mengira lawatan setiap halaman, anda boleh menggunakan logik di atas untuk menambah kod pada semua halaman.