亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

JAVA Web開發技術應用——監聽器

難度初級
時長 1小時30分
學習人數
綜合評分9.70
269人評價 查看評價
9.8 內容實用
9.7 簡潔易懂
9.6 邏輯清晰
  • 3.0需要滿足的條件
    查看全部
  • servlet3.0監聽器,通過注解方式。
    查看全部
  • 按監聽的事件劃分
    查看全部
  • 統計在線人數 1.在ServletContext(application)中設置一個Attribute(int)記錄在線人數 2.用HttpSessionListener的實現類監聽Session創建和銷毀事件,Session創建更新在線人數+1,Session銷毀更新在線人數-1 (注意在會話結束后Session仍駐留服務器內存一段時間) 記錄在線用戶的詳細信息 1.在ServletContext(application)中設置一個Attribute(List<User>)記錄在線用戶信息 2.要獲取用戶信息需要request對象,而HttpSessionListener的實現類不能獲取,因此需要使用ServletRequestListener的實現類,同時用戶下線仍需要通過Session銷毀判斷,因此也需要使用HttpSessionListener的實現類 3.一個session對應多個request,通過sessionId(記錄在User中)來識別一個用戶的多個request 4.新增在線用戶:有新的request創建時,且sessionId和已有用戶不同,表示新增了在線用戶,將該用戶對象加入到List<User>并更新到ServletContext(application) 5.在線用戶下線:當session銷毀時,將通過sessionId將對應用戶移除并更新到ServletContext(application)
    查看全部
  • 監聽Session中對象狀態變化的監聽器: 注意:這里不是單獨建立監聽器,而是讓被監聽的對象的類實現xxxListener接口,也無需在web.xml注冊 1.對象的綁定和解除綁定(即setAttribute/removeAttribute) implements HttpSessionBindingListener,還要實現序列化接口Serializable 綁定:valueBound方法 解除綁定:valueUnbound方法 2.對象的鈍化和活化 implements HttpSessionActivationListener 鈍化:sessionWillPassivate方法 活化:sessionDidActivate方法
    查看全部
  • ServletRequest的事件監聽器 實現ServletRequestListener接口用于監聽它的創建和銷毀事件 一個ServletRequest可以注冊多個ServletRequestListener接口, 在web.xml中注冊 有兩個事件處理方法: requestInitialized方法: public void requestInitialized(ServletRequestEvent sre) request創建時調用 參數ServletRequestEvent可以獲取ServletRequest對象 ServletRequest sr = sre.getServletRequest() 進而獲取初始化參數:sr.getInitParmeter("") requestDestroyed方法: public void requestDestroyed(ServletRequestEvent sre) request銷毀時調用 ServletRequest的主要用途: 讀取參數 記錄訪問歷史 request監聽的是用戶的每一個訪問請求
    查看全部
  • HttpSession的創建和銷毀 實現HttpSessionListener接口用于監聽它的創建和銷毀事件 一個HttpSession可以注冊多個HttpSessionListener接口, 一個web應用中可以有多個HttpSession對象 有兩個事件處理方法: sessionCreated方法: public void sessionCreated(HttpSessionEvent se) session創建時調用 sessionDestroyed方法: public void sessionDestroyed(HttpSessionEvent se) session銷毀時調用 HttpSessionListener的主要用途: 統計在線人數 記錄訪問日志,記錄訪問時間、訪問的ip /** * 銷毀session * 1.關閉服務器 * 2.關閉瀏覽器 * 3.不關閉瀏覽器,session超時 */ 不關閉瀏覽器,session超時 可以在web.xml配置session超時的時間 <session-config> <session-timeout>0</session-timeout> </session-config> 0:session沒有超時的限制 1:session超時1分鐘后銷毀,但是并不是準確的一分鐘
    查看全部
  • suollon 第一遍聽,確實比較難懂。首先,你要明白幾個知識點,就好懂多了: 目的:獲取在線(用戶數量)+打?。ㄓ脩袅斜恚?。用戶列表需包含三個信息(1、sessionId 2、ip 3、firstTime)。 原理:服務器會為每個用戶創建一個session,而一個用戶在這個session生命周期中,可以多次訪問瀏覽器(即,多個request)。 注意事項一:用戶列表中的ip只能從request中獲取,所以添加用戶信息需要在request的init方法中操作 注意事項二:如原理所說,只有當session銷毀時,才能說明用戶已經下線。所以需要在session的destroy方法中減去用戶。 時間: 2016-09-15 8
    查看全部
  • 慕粉4303026 思路很清晰了,因為理解了監聽器就是一個事件---動作模型,所以對于這個例子的代碼的邏輯也能夠有一個非常清晰的理解,我來分析一下這個例子。 第一:統計在線用戶人數,是利用了httpSessionListener這個監聽器來完成,當服務器生成一個session對象時,觸發了時間,然后專區監聽器執行相應的初始化方法,這里的初始化方法,是number++,當然為了方便在jsp頁面中顯示,這個number要保存到全局變量中,也就是application的(getServletContext())的setAttribute()中。 接下來分析第二個例子,就是保存用戶的一些信息。請看下一條評論 時間: 2017-05-10 2
    查看全部
  • 按監聽事件劃分
    查看全部
  • 按監聽對象劃分
    查看全部
  • 啟動順序
    查看全部
  • 監聽器總結 A.按監聽器的對象劃分: 1、用戶監聽應用程序環境對象(ServletContext)的時間監聽器 2、用于監聽用戶會話對象(HttpSession)的事件監聽器 3、用于監聽請求消息對象(ServletRequest)的事件監聽器。 B.按事件劃分: 1、監聽三個域對象創建和銷毀的事件監聽器 ServletRequestListener有以下兩個方法: void requestDestroyed(ServletRequestEvent sre) void requestInitialized(ServletRequestEvent sre) HttpSessionListener有以下兩個方法: void sessionCreated(HttpSessionEvent se) void sessionDestroyed(HttpSessionEvent se) ServletContextListener有以下兩個方法: void contextDestroyed(ServletContextEvent sce) void contextInitialized(ServletContextEvent sce) 2、監聽域對象中屬性的增加和刪除的事件監聽器 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener 3、監聽綁定到HttpSession域中的某個對象的狀態的時間監聽器 注意:這種監聽器不需要注冊。某個javabean實現這些接口后就可以監聽何時被綁定、解綁或被激活或鈍化(Servlet3.0下) HttpSessionBindingListener:實現該接口的類,能檢測自己何時被Httpsession綁定和解綁 HttpSessionActivationListener:實現該接口的類(要求javabean必須是實現了Serializable接口的),能監測自己何時隨著HttpSession一起激活和鈍化
    查看全部
    0 采集 收起 來源:監聽器總結

    2017-09-29

  • ****重點****重點***重點**** 1.統計在線人數:使用ServletSessionListener監聽器的初始化和銷毀實現增加和刪除 2.在線用戶信息:使用ServletRequestListener監聽器的初始化實現獲取用戶信息: HttpServletRequest對象.getSession().getId();//獲取session的ID HttpServletRequest對象.getRemoteAddr();//獲取用戶ip地址 3.保存:保存于全局的getSession.getServletContext().getAttribute("","")里面 4.${userNumber}是EL表達式,可以獲取userNumber的值 EL表達式:取出某一范圍中名稱為username的變量,由于沒有指定哪一個范圍的username,所以它會依序從Page、Request、Session、Application范圍查找。 如果找到username,則直接回傳,如果沒有找到時,則回傳null。 request.getSession().setAttribute(); 這個就是把屬性值放到session中,比如單個用戶信息 request.getSession().getServletContext().setAttribute(); 這個就是把屬性值放到application中,比如網站登錄人數 ServletRequestEvent arg0 HttpServletRequest request = (HttpServletRequest) arg0.getServletRequest(); 獲取的對象是ServletRequest,需要強制類型轉換
    查看全部
  • servlet3.0下監聽器的用法
    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!