日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Listener--------监听器

發布時間:2025/3/16 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Listener--------监听器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Listener:監聽器的原理和實例

八大監聽器:
????? ServletRequest對象:
???????? 生命周期監聽:ServletRequestListener
???????? 屬性監聽:ServletRequestAttributeListener
????? HttpSession對象:
???????? 生命周期監聽:HttpSessionListener
???????? 屬性監聽:HttpSessionAttributeListener
???????? 對象綁定監聽1:HttpSessionBindingListener
???????? 對象鈍化活化監聽2:HttpSessionActivationListener
????? ServletContext對象:
???????? 生命周期監聽:ServletContextListener
???????? 屬性監聽:ServletContextAttributeListener


一、監聽對象,主要監聽servlet的三大域對象request,session,application(ServletRequest,HttpSession,ServletContext)

??? 監聽內容:
??????? A:監聽域對象的創建和銷毀,也就是生命周期的監聽
??????? B:監聽域對象的屬性添加,移除和更改
??????? C:監聽被加入域對象中的對象

二、三大域對象的生命周期
??? ServletRequest 什么時候被創建:
??????? A: 請求一個jsp頁面時,tomcat 翻譯jsp頁面為一個servlet類,執行servlet 類中的service()方法是,tomcat幫我們創建了9大內置對象,其中就有request。
??????? B: 請求一個servlet時,doGet() 或者是doPost()方法,tomcat 自動也會幫我們創建request,
?? ServletRequest 什么時候被銷毀:
??????? 執行完service()方法或者 doGet()方法,doPost()方法即銷毀

??? HttSesssion 什么時候被創建:
??????? Request.getSession():? 先判斷是否存在session對象,如果存在就直接返回,如果不存在就幫我們創建一個session,然后返回。
??? HttSesssion 什么時候被銷毀:
?????? 是根據cookie的生命周期來判斷的,如果cookie是瀏覽器生命周期的話,那么瀏覽器關閉后,session即銷毀;如果cookie是保存到文件中的,那么就具體情況,具體對待。
?
??? ServletContext 什么時候被創建:
?????? Tomcat啟動項目,即創建了application對象。
??? ServletContext 什么時候被銷毀:
?????? Tomcat關閉項目,即銷毀了application對象。

三、【實例】
?? 創建一個監聽器
? A:選擇一個接口,根據監聽對象,監聽內容的不同選擇不同的接口
? B:在web.xml中添加監聽器的配置信息
????? <listener>
????????? <listener-class>監聽器文件的相對路徑</listener-class>
????? </listener>


監聽器: HttpSessionAttributeListener
??? 【原理】
??? HttpSessionAttributeListener是對SessionAttribute的監聽,當在會話對象中加入屬性,移除屬性和替換屬性時就會觸發HttpSessionAttributeListener監

聽器。
??? 接口HttpSessionAttributeListener有3個方法:
??? 1、public void attributeAdded(HttpSessionBindingEvent sbe){}:該方法在session添加對象是觸發
??? 2、public void attributeRemoved(HttpSessionBindingEvent sbe){}:該方法是在session移除對象時觸發的
??? 3、public voidattributeReplaced(HttpSessionBindingEvent se):在Session屬性被重新設置時

?? 【實例】統計一下系統的登錄人數
package com.aaa.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionBindingEvent;

@WebListener()
public class Listener2 implements ServletContextListener,
??????? HttpSessionListener, HttpSessionAttributeListener {

????? public int count=0;//統計登錄的人數

??? // Public constructor is required by servlet spec
??? public Listener2() {
??? }

??? // -------------------------------------------------------
??? // ServletContextListener implementation
??? // -------------------------------------------------------
??? public void contextInitialized(ServletContextEvent sce) {
????? /* This method is called when the servlet context is
???????? initialized(when the Web application is deployed).
???????? You can initialize servlet context related data here.
????? */
??? }

??? public void contextDestroyed(ServletContextEvent sce) {
????? /* This method is invoked when the Servlet Context
???????? (the Web application) is undeployed or
???????? Application Server shuts down.
????? */
??? }

??? // -------------------------------------------------------
??? // HttpSessionListener implementation
??? // -------------------------------------------------------
??? public void sessionCreated(HttpSessionEvent se) {
??????? /* Session is created. */
??? }

??? public void sessionDestroyed(HttpSessionEvent se) {
??????? /* Session is destroyed. */
??? }

??? // -------------------------------------------------------
??? // HttpSessionAttributeListener implementation
??? // -------------------------------------------------------

??? public void attributeAdded(HttpSessionBindingEvent sbe) {
????? /* This method is called when an attribute
???????? is added to a session.
????? */
???? //session對象中加入屬性了觸發此方法
???? //sbe.getName()得到session里的屬性名
????? if(sbe.getName().equals("user")){
???????? count++;
???????? //將count放在全局域對象ServletContext里
???????? sbe.getSession().getServletContext().setAttribute("count",count);
???????? System.out.println("現在系統登錄的用戶人數"+count);
?????? }
????? ?
??? }

??? public void attributeRemoved(HttpSessionBindingEvent sbe) {
????? /* This method is called when an attribute
???????? is removed from a session.
????? */
????? //session對象中刪除屬性時觸發此方法
????? if(sbe.getName().equals("user")){
?????????? count--;
?????????? sbe.getSession().getServletContext().setAttribute("count",count);
?????????? System.out.println("現在系統登錄的用戶人數"+count);
?????? }
??? }

??? public void attributeReplaced(HttpSessionBindingEvent sbe) {
????? /* This method is invoked when an attibute
???????? is replaced in a session.
????? */
??? }
}

轉載于:https://www.cnblogs.com/fbbg/p/11099169.html

總結

以上是生活随笔為你收集整理的Listener--------监听器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: v8888av| 请用你的手指扰乱我吧 | a√天堂资源在线 | jizzjizz在线播放 | 性欧美69| 窝窝午夜精品一区二区 | 六月丁香婷婷综合 | 日批黄色 | 成人精品免费视频 | av影片在线 | www.黄色在线观看 | 91啦丨九色丨刺激 | free性护士vidos猛交 | 国产日韩一区 | 亚洲天堂成人网 | 久久国产精品-国产精品 | 国产黄色大全 | 国内成人精品视频 | 亚洲少妇一区 | 米奇久久 | 孕妇爱爱视频 | 婷婷.com| 中文免费在线观看 | 性色av一区二区三区红粉影视 | 国产区一二三 | 亚洲aⅴ在线 | 亚洲国产私拍精品国模在线观看 | 免费毛片一区二区三区久久久 | 中文字幕一区二区三区波野结 | 男女洗澡互摸私密部位视频 | 午夜裸体性播放 | 欧美人体一区二区 | 理论片高清免费理伦片 | 日本一二三不卡 | 绯色av蜜臀vs少妇 | 91人人爱 | 免费视频中文字幕 | 午夜精品久久久久久久久久久久 | 精品乱子伦 | 香蕉人妻av久久久久天天 | 欧美理论在线观看 | 欧美成年人网站 | 97公开视频 | 成人国产精品视频 | 精品国产一区二区三区在线 | 天天爽天天搞 | 午夜爱爱影院 | 日本香蕉视频 | 美女av免费在线观看 | 男人的天堂色 | 天天躁日日躁狠狠躁av | 琪琪av在线 | 精品一区二区三区四区 | 国产一区二区久久 | 欧美变态另类刺激 | 国产成人一区二区三区电影 | 亚洲人成在线观看 | 中文国产视频 | 亚洲777 | 热@国产 | 波多野吉衣一区二区 | 日韩国产欧美一区二区 | 中文字幕欧美专区 | 中文字幕第27页 | 91美女啪啪 | 99热8| 中文字幕777| 99re热视频 | 三叶草欧洲码在线 | 天堂av中文在线 | 亚洲精品电影在线观看 | 国内精品在线观看视频 | 日本高清三区 | 午夜视频www | 91视频亚洲 | 无码少妇一区二区三区芒果 | 中国免费看的片 | 国产特级视频 | 香蕉视频在线观看视频 | 日韩中文字幕在线观看视频 | 国内偷拍一区 | 黑人性视频 | 夜色一区二区三区 | 日韩视频区 | 男男做性免费视频网 | 国产精品色视频 | 波多野结衣1区 | 日日夜夜艹 | 5个黑人躁我一个视频 | 亚洲大片| 日本一级片免费看 | 亚洲男人网 | 精品美女一区 | 欧美视频在线一区 | 日韩av在线观看免费 | 日本一级淫片色费放 | av黄色一级片| 偷自拍 | 北条麻妃一区二区三区在线观看 |