我正在學習Servlet。但不明白HttpSession
對象與HttpContext
對象之間的主要區別?因爲兩者都用於跟蹤用戶。但我不明白,他們都可以通過用戶或servlet訪問嗎?HttpSession對象和HttpContext對象有什麼區別?
誰能給我一個例子這一點,這樣我就可以有明確的認識...
我正在學習Servlet。但不明白HttpSession
對象與HttpContext
對象之間的主要區別?因爲兩者都用於跟蹤用戶。但我不明白,他們都可以通過用戶或servlet訪問嗎?HttpSession對象和HttpContext對象有什麼區別?
誰能給我一個例子這一點,這樣我就可以有明確的認識...
請求 - 通常用於從JSP將數據傳遞到你的servlet當您提交表單。當你重定向到另一個jsp時,你的請求就會消失。即:這個屬性依賴於每個用戶的請求。請注意http是無狀態的協議。所以服務器將把每一個http請求當作一個新的請求。
會話 - 會話對象基本上用於存儲會話中的值。數據將被保留,直到用戶終止程序或關閉瀏覽器。良好的例子將用於存儲用戶憑證。一旦用戶通過身份驗證,有時您可能需要檢查用戶是否有權訪問某些數據庫操作,如添加/刪除/編輯。一旦用戶關閉瀏覽器或者會話在x分鐘內閒置(取決於您的服務器設置),會話將會消失,並且會話中的所有信息都將消失。
上下文環境對象可用於多個用戶和多個瀏覽器。
如果它是特定於應用程序,請考慮使用上下文。 如果它是用戶特定的,請考慮使用會話。 如果它是特定請求(例如:jsp表單提交),請考慮使用請求。
希望這會有所幫助。
[會話和HttpContext.Current.Session之間的區別]的可能重複(http://stackoverflow.com/questions/940742/difference-between-session-and-httpcontext-current-session) – VedX