http://vietjack.com/ servlets/index.jsp Copyright © vietjack.com Hit Counter Servlet Hit Counter cho WebPage Servlet Nhiều bạn quan tâm đến tổng lượt click trang cụ thể Website bạn Nó đơn giản để tính tốn lượt click sử dụng Servlet, vòng đời Servlet điều khiển Container, mà chạy Sau bước để triển khai Hit Counter đơn giản dựa vòng đời Servlet: • Khởi tạo biến global phương thức init() • Tăng biến global phương thức doGet() doPost() gọi • Nếu cần thiết, bạn sử dụng Database Table để lưu giá trị biến global phương thức destroy() Giá trị đọc bên phương thức init() Servlet khởi tạo lần sau Bước tùy ý • Nếu bạn muốn tính tốn lượng click page bên Session, bạn sử dụng phương thức isNew() để kiểm tra page click bên Session Bước tùy ý • Bạn hiển thị giá trị biến global để tổng lượt click Website bạn Bước tùy ý Tại đây, giả sử Web container không restart Nếu restart Servlet bị hủy, hit counter reset Ví dụ Ví dụ sau minh họa cách triển khai hit counter đơn giản: 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 = "\n"; out.println(docType + "\n" + "" + title + "\n" + "\n" + "" + title + "\n" + "" + hitCount + "\n" + ""); } public void destroy() { // This is optional step but if you like you // can write hitCount value in your database } } Biên dịch Servlet tạo entry sau web.xml: PageHitCounter PageHitCounter Bây giờ, gọi Servlet sử dụng http://localhost:8080/PageHitCounter Nó tăng lượng đếm thêm trang refresh cho kết quả: Total Number of Hits Hit Counter cho Website Servlet Nhiều bạn quan tâm đến tổng lượt click toàn Website bạn Điều đơn giản Servlet thực sử dụng Filter: Sau bước để triển khai Hit Couter Website dựa vòng đời Filter: • Khởi tạo biến global phương thức init() Filter • Tăng giá trị biến global phương thức doFilter gọi • Nếu cần thiết, bạn sử dụng Database table để lưu giữ giá trị biến global phương thức destroy() Filter Giá trị đọc bên phương thức init() Filter khởi tạo lần Bước tùy ý http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 http://vietjack.com/ servlets/index.jsp Copyright © vietjack.com Tại đây, tơi giả sử Web container khơng restart Nếu restart Servlet bị hủy, hit counter reset Ví dụ Sau ví dụ minh họa cách triển khai Hit counter Website 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 } } Biên dịch Servlet tạo entry sau web.xml: SiteHitCounter SiteHitCounter SiteHitCounter /* Bây gọi URL chẳng hạn http://localhost:8080/ Nó tăng lượng đếm thêm trang nhận click hiển thị thông báo sau: Site visits count : Site visits count : Site visits count : Site visits count : Site visits count : http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 ... web.xml: PageHitCounter< /servlet- name> PageHitCounter< /servlet- name> /PageHitCounter < /servlet- mapping>... class>PageHitCounter< /servlet- class> Bây giờ, gọi Servlet sử dụng http://localhost:8080/PageHitCounter Nó tăng lượng đếm thêm trang refresh cho kết quả: Total Number of Hits Hit Counter cho Website Servlet. .. 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