最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaWeb之監(jiān)聽器案例講解

 更新時(shí)間:2021年08月05日 11:11:24   作者:Z && Y  
這篇文章主要介紹了JavaWeb之監(jiān)聽器案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

1. 監(jiān)聽器

實(shí)現(xiàn)一個(gè)監(jiān)聽器的接口;(有n種監(jiān)聽器)

1.1 編寫一個(gè)監(jiān)聽器(實(shí)現(xiàn)監(jiān)聽器接口)

OnlineCountListener .java

package com.tian.listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

//統(tǒng)計(jì)網(wǎng)站在線人數(shù) : 統(tǒng)計(jì)session
public class OnlineCountListener implements HttpSessionListener {

    //創(chuàng)建session監(jiān)聽: 看你的一舉一動(dòng)
    //一旦創(chuàng)建Session就會(huì)觸發(fā)一次這個(gè)事件!
    public void sessionCreated(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();

        System.out.println(se.getSession().getId());

        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");

        if (onlineCount == null) {
            onlineCount = new Integer(1);
        } else {
            int count = onlineCount.intValue();
            onlineCount = new Integer(count + 1);
        }

        ctx.setAttribute("OnlineCount", onlineCount);

    }

    //銷毀session監(jiān)聽
    //一旦銷毀Session就會(huì)觸發(fā)一次這個(gè)事件!
    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext ctx = se.getSession().getServletContext();

        Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount");

        if (onlineCount == null) {
            onlineCount = new Integer(0);
        } else {
            int count = onlineCount.intValue();
            onlineCount = new Integer(count - 1);
        }

        ctx.setAttribute("OnlineCount", onlineCount);

    }
    /*
    Session銷毀:
    1. 手動(dòng)銷毀  getSession().invalidate();
    2. 自動(dòng)銷毀
	web.xml
	    
    <session-config>
        <!--1分鐘后session自動(dòng)銷毀-->
        <session-timeout>1</session-timeout>
    </session-config>

     */
}

1.2 配置監(jiān)聽器

web.xml

    <!--注冊(cè)監(jiān)聽器-->
    <listener>
        <listener-class>com.tian.listener.OnlineCountListener</listener-class>
    </listener>

1.3 啟動(dòng)服務(wù)器

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于JavaWeb之監(jiān)聽器案例講解的文章就介紹到這了,更多相關(guān)JavaWeb之監(jiān)聽器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java類初始化和實(shí)例化中的2個(gè)“雷區(qū)”

    Java類初始化和實(shí)例化中的2個(gè)“雷區(qū)”

    這篇文章主要介紹了Java類初始化和實(shí)例化中的2個(gè)“雷區(qū)”,大家要注意,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Zookeeper?Curator使用介紹

    Zookeeper?Curator使用介紹

    curator是Net?ix公司開源的?套Zookeeper客戶端框架,和ZKClient?樣,Curator解決了很多Zookeeper客戶端非常底層的細(xì)節(jié)開發(fā)?作,包括連接重連,反復(fù)注冊(cè)Watcher和NodeExistsException異常等,是最流行的Zookeeper客戶端之?
    2022-09-09
  • springboot使用定時(shí)器@Scheduled不管用的解決

    springboot使用定時(shí)器@Scheduled不管用的解決

    這篇文章主要介紹了springboot使用定時(shí)器@Scheduled不管用的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • IDEA2021.2配置docker如何將springboot項(xiàng)目打成鏡像一鍵發(fā)布部署

    IDEA2021.2配置docker如何將springboot項(xiàng)目打成鏡像一鍵發(fā)布部署

    這篇文章主要介紹了IDEA2021.2配置docker如何將springboot項(xiàng)目打成鏡像一鍵發(fā)布部署,本文圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn)

    Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn)

    本文主要介紹了Java調(diào)用基于Ollama本地大模型的實(shí)現(xiàn),實(shí)現(xiàn)文本生成、問答、文本分類等功能,開發(fā)者可以輕松配置和調(diào)用模型,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • Java多線程之synchronized關(guān)鍵字的使用

    Java多線程之synchronized關(guān)鍵字的使用

    這篇文章主要介紹了Java多線程之synchronized關(guān)鍵字的使用,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 運(yùn)用Spring?Aop+注解實(shí)現(xiàn)日志記錄

    運(yùn)用Spring?Aop+注解實(shí)現(xiàn)日志記錄

    我們都知道Spring框架的兩大特性分別是 IOC (控制反轉(zhuǎn))和 AOP (面向切面),這個(gè)是每一個(gè)Spring學(xué)習(xí)視頻里面一開始都會(huì)提到的,這里,如果我們使用Aop來記錄日志,那是再好不過了,感興趣的朋友跟隨小編一起學(xué)習(xí)下Spring?Aop注解實(shí)現(xiàn)日志記錄的過程吧
    2022-01-01
  • 使用Spring?Batch實(shí)現(xiàn)大數(shù)據(jù)處理的操作方法

    使用Spring?Batch實(shí)現(xiàn)大數(shù)據(jù)處理的操作方法

    通過使用Spring?Batch,我們可以高效地處理大規(guī)模數(shù)據(jù),本文介紹了如何配置和實(shí)現(xiàn)一個(gè)基本的Spring?Batch作業(yè),包括讀取數(shù)據(jù)、處理數(shù)據(jù)和寫入數(shù)據(jù)的全過程,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Springboot多數(shù)據(jù)源配置之整合dynamic-datasource方式

    Springboot多數(shù)據(jù)源配置之整合dynamic-datasource方式

    這篇文章主要介紹了Springboot多數(shù)據(jù)源配置之整合dynamic-datasource方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java實(shí)現(xiàn)讀取及生成Excel文件的方法

    Java實(shí)現(xiàn)讀取及生成Excel文件的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)讀取及生成Excel文件的方法,結(jié)合實(shí)例形式分析了java通過引入第三方j(luò)ar包poi-3.0.1-FINAL-20070705.jar實(shí)現(xiàn)針對(duì)Excel文件的讀取及生成功能,需要的朋友可以參考下
    2017-12-12

最新評(píng)論

金平| 洱源县| 河西区| 平阳县| 宜丰县| 内黄县| 江山市| 绥中县| 溆浦县| 山丹县| 晋宁县| 乌海市| 连平县| 托里县| 交城县| 高阳县| 思茅市| 江油市| 大足县| 尼玛县| 股票| 赣榆县| 共和县| 阳城县| 葫芦岛市| 泰安市| 巫山县| 兴国县| 蒙阴县| 旌德县| 镇江市| 琼结县| 溧水县| 靖江市| 河池市| 绥中县| 渝北区| 襄城县| 靖远县| 岐山县| 壶关县|