2012-03-22 69 views
0

我對Cookie感到困惑,並在jsp和servlets中的servlet中使用會話。我有3個問題。

1.我正在爲servlet A中的用戶創建會話,然後在會話對象中放入一些值。然後,如果用戶訪問同一域中的另一個servlet B,那麼該servlet將能夠讀取這些值。會話對象是否可用於servlet B.?
2.如果我打開5個標籤頁,包含同一服務器(或域)的不同jsp頁面。所有5個選項卡的方法sessio.lastAccessed()是否會返回相同的值?
3.可以爲會話對象設置過期時間嗎?如果是,如何?需要關於cookie和會話的說明

回答

1
  1. 是的,他們將共享會話

  2. 是的,我相信標籤總是共享會話,但多個窗口將取決於瀏覽器 - 你可以有IE瀏覽器的多個實例(獨立窗口)例如,他們不會。

  3. 是,通過設置在web.xml會話配置/會話超時(分鐘數,見下文)

    <會話配置>
        <會話超時 /會話-timeout >
    < /會話配置>

也,以編程方式設置會話超時,使用這種方法:

HttpSession session 
session.setMaxInactiveInterval(int interval) 

其中間隔以秒測量。

+0

在創建cookie時,會不會在servlet中設置會話過期? – Ashwin 2012-03-22 11:06:32

+0

不確定你的意思,但肯定有不止一種方法來做到這一點。 – dldnh 2012-03-22 11:14:02

+0

我的意思是在cookies中可以設置最大年齡。你可以做一些類似這樣的活動嗎? – Ashwin 2012-03-22 11:23:32