導航:首頁 > 編程語言 > java監聽session

java監聽session

發布時間:2023-03-29 11:17:15

❶ 什麼是java偵聽器

1、監聽器也叫Listener,是Servlet的監聽器,它可以監聽客戶端的請求、服務端的操作等。通過監聽器,可以自動激發一些操作,比如監聽在線的用戶的數量。當增加一個HttpSession時,就激發sessionCreated(HttpSessionEvent se)方法,這樣
就可以給在線人數加1。
2、常用的監聽介面有以下幾個:
1)監聽對ServletContext屬性的操作,比如增加、刪除、修改屬性。
2)、ServletContextListener監聽ServletContext。當創建ServletContext時,激發contextInitialized(ServletContextEvent sce)方法;當銷毀ServletContext時,激發contextDestroyed(ServletContextEvent sce)方法。
HttpSessionListener監聽HttpSession的操作。當創建一個Session時,激發session Created(HttpSessionEvent se)方法;當銷毀一個Session時,激發sessionDestroyed (HttpSessionEvent se)方法。
4)HttpSessionAttributeListener監聽HttpSession中的屬性的操作。當在Session增加一個屬性時,激發attributeAdded(HttpSessionBindingEvent se) 方法;當在Session刪除一個屬性時,激發attributeRemoved(HttpSessionBindingEvent se)方法;當在Session屬性被重新設置時,激發attributeReplaced(HttpSessionBindingEvent se) 方法。
3、參考樣例example:隨伺服器啟動
<web-app>
<listener>
<listener-class>com.tb.listener.CountStartListener</listener-class>
</listener>

package com.tb.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.http.HttpServlet;
import com.tb.timertask.DoCountTask;
public class CountStartListener extends HttpServlet implements ServletContextListener
{
private static final long serialVersionUID = 1824920962239905170L;
public CountStartListener()
{
// TODO Auto-generated constructor stub
}
public void contextDestroyed(ServletContextEvent arg0)
{
// TODO Auto-generated method stub
}
public void contextInitialized(ServletContextEvent arg0)
{
DoCountTask.dotask();

❷ java如何統計session訪問次數

1,Session
在JavaWeb中使用HttpSession(以下簡稱session)對象來表示一個會話。

正在裝載數據…… Session的創建(代表會話周期的開始):第一次調用request.getSession()方法時,會創建一個session對象。
Session的銷毀(代表會話周期的結束):在某個請求周期內調用了Session.invalidate()方法,此請求周期結束後,session被銷毀;或者是session超時後自動銷毀。
對於JSP,如果指定了<%@ page session="false"%>,則在JSP中無法直接訪問內置的session變數,同時也不會主動創建session,因為此時JSP未自動執行request.getSession()操作獲取session。
在session對象剛創建的第一個請求周期內,調用session.isNew()方法將得到true。
可以在web.xml文件中配置session默認的超時時間(分鍾):

<session-config>
<session-timeout>10session-timeout>
session-config>
也可以調用session. setMaxInactiveInterval()方法設置session超時時間(分鍾)
2,SessionListener
通過SessionListenr可以監聽session的創建和銷毀,步驟:
1.寫一個類MySessionListener,實現javax.servlet.http.HttpSessionListener介面及其sessionCreated()、sessionDestroyed()方法
2.在web.xml中配置SessionListener:

<listener>
<listener-class>MySessionListener類全名listener-class>
listener>
當 session被創建和銷毀時,容器會分別調用SessionListener的sessionCreated()方法和 sessionDestroyed()方法,這兩個方法中傳入了一個參數對象HttpSessionEvent,可以通過此對象的 getSession()方法獲取session對象

閱讀全文

與java監聽session相關的資料

熱點內容
excel表格單列數據加密 瀏覽:646
給同事的解壓話語 瀏覽:990
linux關閉網卡命令行 瀏覽:452
史上最漂亮程序員 瀏覽:768
java實現excel的導入 瀏覽:758
光遇賬號如何轉移安卓 瀏覽:266
5分之13除以26的演算法 瀏覽:342
蘭州安寧區買解壓包子 瀏覽:641
php接收圖片代碼 瀏覽:668
hci命令 瀏覽:662
福建伺服器大區雲空間 瀏覽:840
筆桿子程序員 瀏覽:745
手機軟體易驗證加密 瀏覽:589
文檔加密只讀模式也不能看到 瀏覽:431
把jpg轉換成pdf的軟體 瀏覽:874
linuxeth0mac 瀏覽:192
windows編程知乎 瀏覽:442
壓縮工期超過40 瀏覽:249
Android怎麼優化內存 瀏覽:106
linuxetcsysconfig 瀏覽:396