Servlet實現(xiàn)統(tǒng)計頁面訪問次數(shù)功能
本文實例為大家分享了Servlet實現(xiàn)統(tǒng)計頁面訪問次數(shù)的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)思路:
1.新建一個CallServlet類繼承HttpServlet,重寫doGet()和doPost()方法;
2.在doPost方法中調(diào)用doGet()方法,在doGet()方法中實現(xiàn)統(tǒng)計網(wǎng)站被訪問次數(shù)的功能,用戶每請求一次servlet,使得訪問次數(shù)times加1;
3.獲取ServletContext,通過它的功能記住上一次訪問后的次數(shù)。
在web.xml中進行路由配置:
<!-- 頁面訪問次數(shù) --> <servlet> <servlet-name>call</servlet-name> //CallServlet為處理前后端交互的后端類 <servlet-class>CallServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>call</servlet-name> <url-pattern>/call</url-pattern> </servlet-mapping>
CallServlet類:
import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * Created with IntelliJ IDEA * Details about unstoppable_t: * User: Administrator * Date: 2021-04-07 * Time: 14:57 */ //獲得網(wǎng)站被訪問的次數(shù) public class CallServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); ServletContext context = getServletContext(); Integer times = (Integer) context.getAttribute("times"); if (times == null) { times = new Integer(1); } else { times = new Integer(times.intValue() + 1); } PrintWriter out= resp.getWriter(); out.println("<html><head><title>"); out.println("頁面訪問統(tǒng)計"); out.println("</title></head><body>"); out.println("當(dāng)前頁面被訪問了"); out.println("<font color=red size=20>"+times+"</font>次"); context.setAttribute("times",times); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req,resp); } }
前端展示結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SSH框架網(wǎng)上商城項目第15戰(zhàn)之線程、定時器同步首頁數(shù)據(jù)
這篇文章主要為大家詳細介紹了SSH框架網(wǎng)上商城項目第15戰(zhàn)之線程、定時器同步首頁數(shù)據(jù),感興趣的小伙伴們可以參考一下2016-06-06springboot整合shiro登錄失敗次數(shù)限制功能的實現(xiàn)代碼
這篇文章主要介紹了springboot整合shiro-登錄失敗次數(shù)限制功能,實現(xiàn)此功能如果是防止壞人多次嘗試,破解密碼的情況,所以要限制用戶登錄嘗試次數(shù),需要的朋友可以參考下2018-09-09Java簡化復(fù)雜系統(tǒng)調(diào)用的門面設(shè)計模式
Java門面模式是一種結(jié)構(gòu)性設(shè)計模式,它為復(fù)雜系統(tǒng)提供了一個簡單的接口,使得系統(tǒng)的客戶端能夠更加方便地使用系統(tǒng)功能。門面模式通過封裝復(fù)雜的子系統(tǒng),隱藏系統(tǒng)的實現(xiàn)細節(jié),提高了系統(tǒng)的易用性和靈活性2023-04-04java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)
這篇文章主要介紹了java如何通過FileOutputStream字節(jié)流向文件中寫數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Java中的while無限循環(huán)結(jié)構(gòu)及實例
這篇文章主要介紹了Java中的while無限循環(huán)結(jié)構(gòu)及實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01Spring源碼剖析之Spring處理循環(huán)依賴的問題
大家都知道循環(huán)依賴依賴指的是Bean與Bean之間的依賴關(guān)系,循環(huán)依賴指的是兩個或者多個Bean相互依賴,本文通過代碼示例給大家講解Spring處理循環(huán)依賴的問題,感興趣的朋友一起看看吧2021-06-06SpringCloud @RefreshScope注解源碼層面深入分析
@RefreshScope注解能幫助我們做局部的參數(shù)刷新,但侵入性較強,需要開發(fā)階段提前預(yù)知可能的刷新點,并且該注解底層是依賴于cglib進行代理的,所以不要掉入cglib的坑,出現(xiàn)刷了也不更新情況2023-04-04java.lang.NullPointerException 如何處理空指針異常的實現(xiàn)
這篇文章主要介紹了java.lang.NullPointerException 如何處理空指針異常的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12SpringBoot整合RocketMQ批量發(fā)送消息的實現(xiàn)代碼
這篇文章主要介紹了SpringBoot整合RocketMQ批量發(fā)送消息的實現(xiàn),文中通過代碼示例講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04