最新回答 / 之舉3915599
setAttribute時就是綁定了,而鈍化是將沒有在使用的綁定了的對象存儲到硬盤當中。(鈍化你可以再去看一遍視頻,我只是簡單的說說)那解綁就是當session域對象的值修改或者刪除就是解綁了。
2017-05-28
看不懂的大多是java WEB基礎沒掌握牢固,不過說實話慕課的javaWEB教程真的太淺顯,僅僅適合一個入門,課后還需要大量的補充學習,建議大家不要只跟著路徑學過來,不然會遺漏很多知識點
2017-05-16
最贊回答 / XiaoADream
在requestInitialized方法中通過ServletRequestEvent參數可以獲得request對象,從而獲得用戶IP地址,而sessionCreated中不能獲得request對象,沒法獲得用戶IP地址。
2017-05-12
最新回答 / 早川君
session是有一個超時時間的,瀏覽器關閉其實對于web服務器來說是不知道的,所以他需要等待超時時間到了之后自動銷毀,上面關閉瀏覽器之后只所以沒有促發sessionDesroyed,就是因為默認的超時時間沒到。默認超時時間太長了,所以在sessionCreated中添加如下代碼,改小超時時間:? ? ? ??arg0.getSession().setMaxInactiveInterval(5);這樣只要用瀏覽器訪問該站點,然后5s不刷新之后,sessionDestroyed就會被自動調用了。
2017-05-12
而session銷毀的過程,就要在httpSessionListener這個監聽器中,把該session對象的信息從arraylist中給remove掉
2017-05-10
第二個例子是為了保存IP地址,而ip地址只有通過request對象才能獲取,所以要在servletRequestListener監聽器中,來完成對于數據的保存,而在所以服務器每次生成一個request對象,就會跳轉到ServletRequestListener的inti方法來執行,這里首先要獲取保存在全局變量中的session對象的arraylist,然后獲取當前request對象的session是在session中,如果不存在,就是new一個User對象來保存用戶信息,然后添加在arraylist中,在將這個arraylist保存到具有全局變量作用的application對象中
2017-05-10
思路很清晰了,因為理解了監聽器就是一個事件---動作模型,所以對于這個例子的代碼的邏輯也能夠有一個非常清晰的理解,我來分析一下這個例子。
第一:統計在線用戶人數,是利用了httpSessionListener這個監聽器來完成,當服務器生成一個session對象時,觸發了時間,然后專區監聽器執行相應的初始化方法,這里的初始化方法,是number++,當然為了方便在jsp頁面中顯示,這個number要保存到全局變量中,也就是application的(getServletContext())的setAttribute()中。
接下來分析第二個例子,就是保存用戶的一些信息。請看下一條評論
第一:統計在線用戶人數,是利用了httpSessionListener這個監聽器來完成,當服務器生成一個session對象時,觸發了時間,然后專區監聽器執行相應的初始化方法,這里的初始化方法,是number++,當然為了方便在jsp頁面中顯示,這個number要保存到全局變量中,也就是application的(getServletContext())的setAttribute()中。
接下來分析第二個例子,就是保存用戶的一些信息。請看下一條評論
2017-05-10
鈍化和活化,講的非常到位了,基本對于鈍化和活化的一些點都講了
這里有幾點要注意的是:引起鈍化和活化的條件,在進程鈍化和活化之前要進行序列化和反序列化。
還有活化鈍化的用法。
監聽器學到這里,可以來總結了,我的理解監聽器就是事件--動作模型,監聽器監聽是否發生某些事件,如果發生了對應的時間,就調用監聽器中相應的方法(也就是動作)
這里有幾點要注意的是:引起鈍化和活化的條件,在進程鈍化和活化之前要進行序列化和反序列化。
還有活化鈍化的用法。
監聽器學到這里,可以來總結了,我的理解監聽器就是事件--動作模型,監聽器監聽是否發生某些事件,如果發生了對應的時間,就調用監聽器中相應的方法(也就是動作)
2017-05-10
總的聽下來,到目前這一為止,可以把監聽器總結為兩大類,一個是三個對象(servletContext,httpsession,servletRequest)對象創建和銷毀的監聽器,一個是對這三個對象(添加,修改,刪除)的監聽器。
當監聽器被創建以及注冊之后,只要監聽器監聽的對象有相應的時間發生,比如初始化,銷毀,增加屬性,修改屬性,刪除屬性時,就會調用相應的監聽器,來監聽他們的行為。
這里要注意一個點,是這一節將的,也就是add和replace方法。首先調用add添加一個屬性,在add方法中如果這個屬性對象存在,那么就會在add方法中調用replace方法,來修改屬性值,否則添加。
當監聽器被創建以及注冊之后,只要監聽器監聽的對象有相應的時間發生,比如初始化,銷毀,增加屬性,修改屬性,刪除屬性時,就會調用相應的監聽器,來監聽他們的行為。
這里要注意一個點,是這一節將的,也就是add和replace方法。首先調用add添加一個屬性,在add方法中如果這個屬性對象存在,那么就會在add方法中調用replace方法,來修改屬性值,否則添加。
2017-05-10