第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

JAVA Web開發(fā)技術(shù)應(yīng)用——監(jiān)聽器

難度初級
時(shí)長 1小時(shí)30分
學(xué)習(xí)人數(shù)
綜合評分9.70
269人評價(jià) 查看評價(jià)
9.8 內(nèi)容實(shí)用
9.7 簡潔易懂
9.6 邏輯清晰
  • 監(jiān)聽器概念

    查看全部
    0 采集 收起 來源:概述

    2019-06-19

  • 監(jiān)聽哪些對象

    查看全部
    0 采集 收起 來源:概述

    2019-06-19

  • 監(jiān)聽器的類比

    查看全部
    0 采集 收起 來源:概述

    2019-06-19

  • Http是沒有http的子類,

    得到全局是http類型的request.getSession().getServletContext();

    而監(jiān)聽事件接口有三種,httpSession,servletRequest和servletContext,因?yàn)樽罱K得到的是servlet的context,所以servlet類型的request可以直接得到,http類型的request要先得到http的session才能getServletContext。

    查看全部
  • Servlet3.0下監(jiān)聽器的使用(web.xml<web-app>標(biāo)簽查看Servlet版本)

    https://img1.sycdn.imooc.com//5d02e6430001895c11050639.jpgServlet2.5下可以定義監(jiān)聽器的順序,通過在web.xml中定義,Servlet3.0通過注解@WebListener不能實(shí)現(xiàn)順序這一功能。

    https://img1.sycdn.imooc.com//5d02e71f0001872a09560595.jpghttps://img1.sycdn.imooc.com//5d02e7580001d92c11130642.jpg


    查看全部
  • 綁定到HttpSession域中的對象狀態(tài)的事件監(jiān)聽器

    綁定到HttpSession域中的對象有多種狀態(tài)如下:
    綁定(相當(dāng)于保存,通過session.setAttribute()把對象保存到域?qū)ο髎ession中)——>解除綁定 (相當(dāng)于session.removeAttribute()) ? ? ? ? ? ?鈍化(將session對象持久化到存儲設(shè)備上)——>活化(從存儲設(shè)備上進(jìn)行恢復(fù))

    Session鈍化機(jī)制:session正常情況下,存儲在服務(wù)器內(nèi)存當(dāng)中,服務(wù)器會對每一個(gè)在線用戶創(chuàng)建一個(gè)session對象,當(dāng)在線用戶很多時(shí),session內(nèi)存的開銷將是巨大的,會直接影響Web服務(wù)器的性能,Session的鈍化機(jī)制就解決了這個(gè)問題。

    Session鈍化機(jī)制本質(zhì):把服務(wù)器不經(jīng)常使用的session對象暫時(shí)序列化到系統(tǒng)文件或者數(shù)據(jù)庫內(nèi)存當(dāng)中,當(dāng)使用的時(shí)候,反序列化到服務(wù)器內(nèi)存當(dāng)中,整個(gè)過程由服務(wù)器自動(dòng)完成。

    Tomcat中有兩種Session鈍化管理器(Session鈍化機(jī)制由SessionManager管理)

    第一種鈍化管理器:StandardManger,有兩種情況,第一種情況,當(dāng)Tomcat服務(wù)器被關(guān)閉或重啟時(shí),Tomcat服務(wù)器會將當(dāng)前內(nèi)存中的Session對象鈍化到服務(wù)器文件系統(tǒng)中,第二種情況是Web應(yīng)用程序被重新加載時(shí)(重新覆蓋web.xml,或者從新覆蓋Spring.xml,或者在Tomcat服務(wù)器里點(diǎn)擊重新加載按鈕時(shí)),內(nèi)存中的Session對象也會被鈍化到服務(wù)器的文件系統(tǒng)中,鈍化后的文件會保存到Tomcat目錄下的work/Catalina/hostname/applicationname/SESSION.ser,當(dāng)Tmocat服務(wù)器重新啟動(dòng)時(shí),這個(gè)文件就會被加載,然后就會被刪掉,也是默認(rèn)的StandardManger。

    https://img1.sycdn.imooc.com//5d02378900012f4610760629.jpg

    第二種鈍化管理器:Persistentmanager,它在Tomcat下的conf下的context.xml中進(jìn)行配置,首先在鈍化的基礎(chǔ)上進(jìn)行了擴(kuò)張。前兩種如上,第三種情況,可以配置主流內(nèi)存的Session對象數(shù)目,將不長使用的Session對象保存到文件系統(tǒng)或數(shù)據(jù)庫,當(dāng)用時(shí)再重新加載,默認(rèn)情況下,Tomcat提供了兩個(gè)鈍化驅(qū)動(dòng)類,一個(gè)是FileStore另一個(gè)是JDBCStore。

    https://img1.sycdn.imooc.com//5d0240cc0001cbfa09040205.jpg

    https://img1.sycdn.imooc.com//5d02388700012f6e11190577.jpg

    Servlet規(guī)范提供了兩個(gè)接口(這兩個(gè)監(jiān)聽器不需要在web.xml中進(jìn)行注冊)

    HttpSessionBindingListener接口:提供了綁定方法valueBound()

    和解除綁定方法valueUnbound()。

    HttpSessionActivationListener:提供了鈍化方法sessionWillPassivate()和活化方法sessionDidActivate()。

    創(chuàng)建的這個(gè)類不是監(jiān)聽器,而是一個(gè)普通javaBean,因?yàn)檫@個(gè)狀態(tài)指的是session當(dāng)中的對象,是對象的狀態(tài),而不是監(jiān)聽器的狀態(tài),當(dāng)前端頁面把這個(gè)對象存入session中,就會觸發(fā)相應(yīng)(添加和移除)事件。

    https://img1.sycdn.imooc.com//5d023c150001da3211050505.jpgHttpSessionActivationListener接口:如果想實(shí)現(xiàn)鈍化和活化,一定要實(shí)現(xiàn)序列化接口Serializable



    查看全部
  • 按監(jiān)聽的事件劃分(域?qū)ο?strong>屬性的增加和刪除的事件監(jiān)聽器

    監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器,Servlet規(guī)范中專門定義了監(jiān)聽這些對象的監(jiān)聽接口,并且這三個(gè)接口都定義了三個(gè)方法來處理域?qū)ο蟮膶傩缘脑黾?、刪除、替換的事件(attributeAdded、attributeRemoved、attributeReplaced)。

    【a】ServletContext——>ServletContextAttributeListener

    【b】HttpSession——>HttpSessionAttributeListener

    【c】ServletRequest——>ServletRequestAttributeListener

    步驟1:創(chuàng)建監(jiān)聽事件的類,并實(shí)現(xiàn)相應(yīng)接口,配置web.xml監(jiān)聽器。

    https://img1.sycdn.imooc.com//5d0231b500010bd711770656.jpg

    步驟2:創(chuàng)建一個(gè)增加各個(gè)屬性值的界面(留意:Tomcat容器監(jiān)視ServletContext會自動(dòng)加載一個(gè)JSF的類,請求訪問時(shí),還會加載一個(gè)jsp的實(shí)現(xiàn)類,只需了解)。

    開啟????Tomcat容器

    https://img1.sycdn.imooc.com//5d020ada00011db108990056.jpg

    request.getAttribute():值放在request域?qū)ο罄锩娴囊粋€(gè)屬性。

    request.getParameter():request請求的一個(gè)請求參數(shù)(例如:http://idcbgp.cn/username=zhangsan,通過getAttribute不能獲?。?/p>

    查看全部
  • ServletRequest的監(jiān)聽器

    ServletRequest對象的創(chuàng)建和銷毀:ServletRequest的創(chuàng)建和銷毀是實(shí)現(xiàn)了ServletRequestListener接口,一個(gè)ServletRequest對象可以注冊多個(gè)ServletRequestListener接口,并且實(shí)現(xiàn)了requestInitialized(ServletRequestEvent sre)request創(chuàng)建時(shí)被調(diào)用,requestDestroyed(ServletRequestEvent sre)request銷毀時(shí)調(diào)用。

    ServletRequestListener主要用途:讀取request里的參數(shù),記錄訪問歷史、訪問路徑,都可以通過它來進(jìn)行監(jiān)聽(監(jiān)聽到每一個(gè)用戶的訪問請求,請求結(jié)束后就會執(zhí)行銷毀方法,有g(shù)etServletContext方法和getServletRequest方法)。


    https://img1.sycdn.imooc.com//5d01ba690001338310770645.jpg


    查看全部
  • HttpSession的事件監(jiān)聽器

    監(jiān)聽域?qū)ο螅℉ttpSession):HttpSession實(shí)現(xiàn)了HttpSessionListener接口,用于監(jiān)聽該對象的創(chuàng)建及銷毀事件,一個(gè)HttpSession對象可以注冊多個(gè)HttpSessionListener接口,一個(gè)Web應(yīng)用中也可以有多個(gè)HttpSession對象,HttpSessionListener有sessionCreated(HttpSessionEvent se)和sessionDestroyed(HttpSessionEvent se),分別是session創(chuàng)建和銷毀時(shí)調(diào)用,方法里的參數(shù)可以獲取當(dāng)前創(chuàng)建的HttpSession對象。

    HttpSessionListener主要用途:統(tǒng)計(jì)在線人數(shù),記錄訪問日志(在后臺把訪問人的訪問時(shí)間和ip做一些統(tǒng)計(jì)數(shù)據(jù))

    HttpSession對象的創(chuàng)建和銷毀:session對象的創(chuàng)建是在用戶第一次打開瀏覽器,第一次訪問Wen應(yīng)用時(shí),這次對話Web容器就會分配一個(gè)session,用戶可以在session里保存一些信息,session對象的銷毀第一是關(guān)閉服務(wù)器,會調(diào)用銷毀方法,第二種是關(guān)閉瀏覽器session會被銷毀(session不一定會立即銷毀,該時(shí)間不是一個(gè)量化的),第三種,不關(guān)閉瀏覽器,session超時(shí)(可以通過在web.xml中配置

    <session-config>

    ? <session-timeout>1</session-timeout>

    ? </session-config>

    設(shè)置超時(shí)時(shí)間,銷毀并不會一定是1分鐘)。



    查看全部
  • 監(jiān)聽器的分類

    按監(jiān)聽的對象劃分

    【a】用于監(jiān)聽?wèi)?yīng)用程序環(huán)境對象(ServletContext)的事件監(jiān)聽器。

    【b】用于監(jiān)聽用戶會話對象(HttpSession)的事件監(jiān)聽器

    【c】用于監(jiān)聽請求消息對象(ServletRequest)的事件監(jiān)聽器

    按監(jiān)聽的事件劃分

    【a】監(jiān)聽域?qū)ο笞陨淼膭?chuàng)建和銷毀的事件監(jiān)聽器

    定義:監(jiān)聽的對象包括ServletContext、HttpSession、ServletRequest,Servlet規(guī)范中定義了三個(gè)接口ServletContextListener、HttpSessionListener、ServletRequestListener來監(jiān)聽這三個(gè)對象的創(chuàng)建及銷毀事件。

    ServletContext的創(chuàng)建及銷毀:ServletContext實(shí)現(xiàn)了ServletContextListener接口來監(jiān)聽該對象的創(chuàng)建及銷毀事件,一個(gè)Web應(yīng)用下可以創(chuàng)建多個(gè)ServletContextListener,但是一個(gè)Web應(yīng)用中只有一ServletContext對象,ServletContextListener對象的contextInitialized方法和contextDestroyed方法(主要用于數(shù)據(jù)庫連接關(guān)閉時(shí),可以釋放一些資源,以免過度的占用),方法里的參數(shù)ServletContextEvent可以獲取ServletContext以及獲取一些初始化參數(shù)。

    ServletContextListener主要用途:做一些定時(shí)器:可以加載一些全局屬性對象,可以創(chuàng)建全局的數(shù)據(jù)庫連接,以及加載一些緩存信息。

    getServletContext():通過參數(shù)ServletContextEvent獲取ServletContext對象,并且可以往全局變量ServletContext中存入變量,通過setAttribute方法,這樣就可以在其他地方進(jìn)行獲取。

    getInitParameter():通過ServletContext對象獲取初始化參數(shù)(初始化參數(shù)在web.xml中進(jìn)行配置)。

    【b監(jiān)聽域?qū)ο笾械膶傩缘脑黾雍蛣h除的事件監(jiān)聽器

    【c】監(jiān)聽綁定到HttpSession域中的某個(gè)對象的狀態(tài)的事件監(jiān)聽器

    https://img1.sycdn.imooc.com//5d01a06a0001754312490681.jpg

    查看全部
  • 監(jiān)聽器的啟動(dòng)順序(一個(gè)web.xml下的多個(gè)監(jiān)聽器)

    順序:注冊順序加載監(jiān)聽器,如果注冊含有過濾器、監(jiān)聽器、Servlet,監(jiān)聽器優(yōu)先級>過濾器優(yōu)先級>Servlet優(yōu)先級

    https://img1.sycdn.imooc.com//5d00e6e10001737e11600642.jpg


    查看全部
  • 第一個(gè)監(jiān)聽器案例

    步驟1:創(chuàng)建一個(gè)類并實(shí)現(xiàn)ServletContextListener接口(javax.servlet),并且實(shí)現(xiàn)了contextInitialized方法contextDestroyed方法

    https://img1.sycdn.imooc.com//5d00e5d80001eb4b10720484.jpg

    步驟2:web.xml配置監(jiān)聽對象

    https://img1.sycdn.imooc.com//5d00e5e30001ee7412190124.jpg

    查看全部
  • Web監(jiān)聽器的主要用途

    1、統(tǒng)計(jì)在線人數(shù)和在線用戶(監(jiān)聽器的主要用途之一

    2、系統(tǒng)啟動(dòng)時(shí)加載初始化信息(包括緩存、一些公用的定時(shí)器、一些公共的數(shù)據(jù)庫的連接等等

    3、統(tǒng)計(jì)網(wǎng)站訪問量(每次請求都可以通過監(jiān)聽器的request對象進(jìn)行獲取

    4、跟Spring結(jié)合

    一、第一個(gè)Web監(jiān)聽器(Servlet規(guī)范對每一個(gè)監(jiān)聽器定義了一個(gè)接口

    步驟:

    【a】創(chuàng)建一個(gè)實(shí)現(xiàn)監(jiān)聽器接口的類

    【b】配置web.xml進(jìn)行注冊

    查看全部
  • 課程目標(biāo)

    1、監(jiān)聽器的定義(專門用于對其他對象身上發(fā)生的事件或狀態(tài)改變進(jìn)行監(jiān)聽和相應(yīng)處理的對象,當(dāng)被監(jiān)視的對象發(fā)生變化時(shí),立即采取相應(yīng)的行動(dòng)

    2、監(jiān)聽器的主要用途

    3、第一個(gè)實(shí)例講解

    4、監(jiān)聽器的分類(監(jiān)聽的對象和監(jiān)聽的事件)

    5、Servlet3.0下監(jiān)聽器的使用

    6、實(shí)際項(xiàng)目中常用案例

    一、監(jiān)聽器的定義

    定義:Servlet規(guī)范中定義的一種特殊的類,用于監(jiān)聽ServletContext、HttpSession和ServletRequest等域?qū)ο蟮膭?chuàng)建與銷毀時(shí)間,以及用于監(jiān)聽域?qū)ο蟮膶傩园l(fā)生修改的事件,監(jiān)聽器對象可以在事件發(fā)生前、發(fā)生后做一些必要的處理。

    WEB應(yīng)用中的監(jiān)聽器:由Servlet規(guī)范提供的,可以監(jiān)視客戶端的請求以及服務(wù)端的操作,同時(shí)可以監(jiān)視ServletContext(application,容器創(chuàng)建并且初始化的,范圍整個(gè)Web應(yīng)用,整個(gè)Web應(yīng)用只有一個(gè)application對象,Web容器關(guān)閉就會銷毀application對象)、HttpSession(session,是一種保存上下文的機(jī)制,針對每一個(gè)會話,放在服務(wù)器端,通過session的id進(jìn)行區(qū)分的,瀏覽器和服務(wù)器結(jié)束后,就會把session進(jìn)行銷毀)、ServletRequest(request,客戶發(fā)送請求時(shí),容器就會創(chuàng)建一個(gè)ServletRequest對象,進(jìn)行封裝請求數(shù)據(jù),同時(shí)會創(chuàng)建一個(gè)ServletResponse對象,進(jìn)行封裝響應(yīng)數(shù)據(jù),訪問請求結(jié)束之后,request對象就會被銷毀)。

    例如統(tǒng)計(jì)用戶在線人數(shù)。

    https://img1.sycdn.imooc.com//5d00dc150001647710360582.jpg

    Web監(jiān)聽器監(jiān)視三個(gè)對象:監(jiān)聽這三個(gè)對象的創(chuàng)建、銷毀、以及這三個(gè)屬性之間的變化

    查看全部
    0 采集 收起 來源:概述

    2019-06-12

  • session鈍化與活化

    查看全部

舉報(bào)

0/150
提交
取消
課程須知
親,要學(xué)習(xí)本門課程需要對JSP和Servlet有所了解呦。如未學(xué)習(xí)上述知識,可移步網(wǎng)站相關(guān)課程。
老師告訴你能學(xué)到什么?
通過對本課程的學(xué)習(xí),可以掌握監(jiān)聽器的基礎(chǔ)知識,深入了解監(jiān)聽器的處理機(jī)制和分類方式,并可以讓自己更快的動(dòng)手編寫監(jiān)聽器的例子。

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!