2012-03-22 6 views
0

Я путаюсь с куками и с помощью сеанса в сервлетах в jsp и сервлетах. У меня 3 вопроса.

1. Я создаю сеанс для пользователя в моем сервлете A, а затем помещаю несколько значений в объект сеанса. Затем, если пользователь обращается к другому сервлету B в том же домене, сервлет сможет считывать значения. Будет ли тот же объект сеанса доступен для сервлета B.?
2. Если у меня есть 5 вкладок, открывайте разные страницы jsp одного и того же сервера (или домена). Будет ли метод sessio.lastAccessed() для всех 5 вкладок возвращать одно и то же значение?
3. Можно ли установить истечение срока действия для объекта сеанса? Если да, то как?Необходимы разъяснения в отношении файлов cookie и сеансов

ответ

1
  1. да, они будут делить сессию

  2. да, я считаю, вкладки всегда разделяют сеанс, но несколько окон будут зависеть от браузера - вы можете иметь несколько экземпляров IE (отдельные окна) , например, и они не будут.

  3. да, путем установки сеанса конфигурации/сеанса-тайм-аут в web.xml (число минут, смотри ниже)

    < сеанса конфигурации >
        < сеанса тайм-аута/сеанс -timeout >
    </сеанса конфигурации >

также, чтобы установить тайм-аут сеанса программным способом, использовать этот метод:

HttpSession session 
session.setMaxInactiveInterval(int interval) 

, где интервал измеряется в секундах.

+0

Невозможно установить истечение сеанса в сервлете, когда оно создано, как это делается для файлов cookie? – Ashwin

+0

Не уверен, что вы имеете в виду, но есть, конечно, более одного способа сделать это. – dldnh

+0

Я имею в виду, что в файлах cookie вы можете установить максимальный возраст. Можете ли вы сделать что-то подобное сеансу sor? – Ashwin