javax.servlet.http
Интерфейс HttpSession


public interface HttpSession

Обеспечивает способ идентифицировать пользователя через запрос на больше чем одну страницу или посещение Веб-сайта и хранить информацию о том пользователе.

Контейнер сервлета использует этот интерфейс, чтобы создать сеанс между клиентом HTTP и сервером HTTP. Сеанс сохраняется в течение периода требуемого времени больше чем через одно соединение или запрос страницы от пользователя. Сеанс обычно соответствует одному пользователю, который может посетить сайт много раз. Сервер может поддержать сеанс разными способами, такой как использование cookie или перезапись URL.

Этот интерфейс позволяет сервлеты

Когда приложение хранит объект в или удаляет объект из сеанса, проверки сеанса, реализует ли объект HttpSessionBindingListener. Если это делает, сервлет уведомляет объект, что это было связано с или несвязанное от сеанса. Уведомления отправляются после обязательных полных методов. Для сеанса, которые лишаются законной силы или истекают, отправляются уведомления после того, как сеанс был лишен законной силы или истек.

Когда контейнер перемещает сеанс между VMs в распределенной контейнерной установке, все атрибуты сеанса, реализовывая HttpSessionActivationListener интерфейс уведомляется.

Сервлет должен быть в состоянии обработать случаи, в которых клиент не хочет присоединяться к сеансу, такой как тогда, когда cookie преднамеренно выключаются. Пока клиент не присоединяется к сеансу, isNew возвраты true. Если клиент хочет не присоединяться к сеансу, getSession возвратит различный сеанс по каждому запросу, и isNew будет всегда возвращаться true.

Информация о сеансе является определяющей контекст только к текущему веб-приложению (ServletContext), таким образом, информация, хранившая в одном контексте, не будет непосредственно видима в другом.

Автор:
Различный
См. Также:
HttpSessionBindingListener, HttpSessionContext

Сводка метода
 java.lang.Object getAttribute(java.lang.String name)
          Возвращает объект, связанный с указанным именем в этом сеансе, или null если никакой объект не связывается под именем.
 java.util.Enumeration<java.lang.String> getAttributeNames()
          Возвраты Enumeration из String объекты, содержащие имена всех объектов, связанных с этим сеансом.
 long getCreationTime()
          Возвращает время, когда этот сеанс создавался, измеренный в миллисекундах с полуночи 1 января 1970 GMT.
 java.lang.String getId()
          Возвращает строку, содержащую уникальный идентификатор, присвоенный этому сеансу.
 long getLastAccessedTime()
          Возвращает в прошлый раз клиент, отправленный запрос, связанный с этим сеансом, как число миллисекунд с полуночи 1 января 1970 GMT, и отмеченный к этому времени контейнер, полученный запрос.
 int getMaxInactiveInterval()
          Возвращает максимальный временной интервал, в секундах, что контейнер сервлета сохранит этот сеанс открытым между клиентскими доступами.
 ServletContext getServletContext()
          Возвращает ServletContext, которому принадлежит этот сеанс.
 HttpSessionContext getSessionContext()
          Осуждаемый. С Версии 2.1 этот метод осуждается и не имеет никакой замены. Это будет удалено в будущей версии API Сервлета Java.
 java.lang.Object getValue(java.lang.String name)
          Осуждаемый. С Версии 2.2 этот метод заменяется getAttribute(java.lang.String).
 java.lang.String[] getValueNames()
          Осуждаемый. С Версии 2.2 этот метод заменяется getAttributeNames()
 void invalidate()
          Лишает законной силы этот сеанс, тогда развязывает любые объекты, связанные с этим.
 boolean isNew()
          Возвраты true если клиент еще не знает о сеансе или если клиент хочет не присоединяться к сеансу.
 void putValue(java.lang.String name, java.lang.Object value)
          Осуждаемый. С Версии 2.2 этот метод заменяется setAttribute(java.lang.String, java.lang.Object)
 void removeAttribute(java.lang.String name)
          Удаляет объект, связанный с указанным именем от этого сеанса.
 void removeValue(java.lang.String name)
          Осуждаемый. С Версии 2.2 этот метод заменяется removeAttribute(java.lang.String)
 void setAttribute(java.lang.String name, java.lang.Object value)
          Связывает объект с этим сеансом, используя определенное имя.
 void setMaxInactiveInterval(int interval)
          Определяет время, в секундах, между клиентскими запросами прежде, чем контейнер сервлета лишит законной силы этот сеанс.
 

Деталь метода

getCreationTime

long getCreationTime()
Возвращает время, когда этот сеанс создавался, измеренный в миллисекундах с полуночи 1 января 1970 GMT.

Возвраты:
a long определение, когда этот сеанс создавался, выражало в миллисекундах с тех пор 01.01.1970 GMT
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

getId

java.lang.String getId()
Возвращает строку, содержащую уникальный идентификатор, присвоенный этому сеансу. Идентификатор присваивается контейнером сервлета и зависящий от реализации.

Возвраты:
строка, определяющая идентификатор, присвоенный этому сеансу

getLastAccessedTime

long getLastAccessedTime()
Возвращает в прошлый раз клиент, отправленный запрос, связанный с этим сеансом, как число миллисекунд с полуночи 1 января 1970 GMT, и отмеченный к этому времени контейнер, полученный запрос.

Меры, которые Ваше приложение предпринимает, такие как получение или установка значения, связанного с сеансом, не влияют на время доступа.

Возвраты:
a long представление в прошлый раз клиент, отправленный запрос, связанный с этим сеансом, выраженным в миллисекундах с тех пор 01.01.1970 GMT
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

getServletContext

ServletContext getServletContext()
Возвращает ServletContext, которому принадлежит этот сеанс.

Возвраты:
ServletContext возражают для веб-приложения
С тех пор:
Сервлет 2.3

setMaxInactiveInterval

void setMaxInactiveInterval(int interval)
Определяет время, в секундах, между клиентскими запросами прежде, чем контейнер сервлета лишит законной силы этот сеанс.

Значение interval нуля или меньше указывает, что сеанс никогда не должен тайм-аут.

Параметры:
interval - Целое число, определяющее число секунд

getMaxInactiveInterval

int getMaxInactiveInterval()
Возвращает максимальный временной интервал, в секундах, что контейнер сервлета сохранит этот сеанс открытым между клиентскими доступами. После этого интервала контейнер сервлета лишит законной силы сеанс. Максимальный временной интервал может быть установлен с setMaxInactiveInterval метод.

Возвращаемое значение нуля или меньше указывает, что сеанс никогда не будет тайм-аут.

Возвраты:
целое число, определяющее число секунд этот сеанс, остается открытым между клиентскими запросами
См. Также:
setMaxInactiveInterval(int)

getSessionContext

HttpSessionContext getSessionContext()
Осуждаемый. С Версии 2.1 этот метод осуждается и не имеет никакой замены. Это будет удалено в будущей версии API Сервлета Java.


getAttribute

java.lang.Object getAttribute(java.lang.String name)
Возвращает объект, связанный с указанным именем в этом сеансе, или null если никакой объект не связывается под именем.

Параметры:
name - строка, определяющая имя объекта
Возвраты:
объект с указанным именем
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

getValue

java.lang.Object getValue(java.lang.String name)
Осуждаемый. С Версии 2.2 этот метод заменяется getAttribute(java.lang.String).

Параметры:
name - строка, определяющая имя объекта
Возвраты:
объект с указанным именем
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

getAttributeNames

java.util.Enumeration<java.lang.String> getAttributeNames()
Возвраты Enumeration из String объекты, содержащие имена всех объектов, связанных с этим сеансом.

Возвраты:
Enumeration из String объекты, определяющие имена всех объектов, связанных с этим сеансом
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

getValueNames

java.lang.String[] getValueNames()
Осуждаемый. С Версии 2.2 этот метод заменяется getAttributeNames()

Возвраты:
массив String объекты, определяющие имена всех объектов, связанных с этим сеансом
Броски:
IllegalStateException - если этот метод вызывают на лишенном законной силы сеансе

setAttribute

void setAttribute(java.lang.String name,
                  java.lang.Object value)
Связывает объект с этим сеансом, используя определенное имя. Если объект того же самого имени уже связывается с сеансом, объект заменяется.

После того, как этот метод выполняется, и если новый объект реализует HttpSessionBindingListener, контейнерные вызовы HttpSessionBindingListener.valueBound. Контейнер тогда уведомляет любого HttpSessionAttributeListeners в веб-приложении.

Если объект был уже связан с этим сеансом этого имени, которое реализует HttpSessionBindingListener, HttpSessionBindingListener.valueUnbound метод вызывают.

Если значение, которое передают в, является нулем, это имеет тот же самый эффект как вызов removeAttribute().

Parameters:
name - the name to which the object is bound; cannot be null
value - the object to be bound
Throws:
IllegalStateException - if this method is called on an invalidated session

putValue

void putValue(java.lang.String name,
              java.lang.Object value)
Deprecated. As of Version 2.2, this method is replaced by setAttribute(java.lang.String, java.lang.Object)

Parameters:
name - the name to which the object is bound; cannot be null
value - the object to be bound; cannot be null
Throws:
IllegalStateException - if this method is called on an invalidated session

removeAttribute

void removeAttribute(java.lang.String name)
Removes the object bound with the specified name from this session. If the session does not have an object bound with the specified name, this method does nothing.

After this method executes, and if the object implements HttpSessionBindingListener, the container calls HttpSessionBindingListener.valueUnbound. The container then notifies any HttpSessionAttributeListeners in the web application.

Parameters:
name - the name of the object to remove from this session
Throws:
IllegalStateException - if this method is called on an invalidated session

removeValue

void removeValue(java.lang.String name)
Deprecated. As of Version 2.2, this method is replaced by removeAttribute(java.lang.String)

Parameters:
name - the name of the object to remove from this session
Throws:
IllegalStateException - if this method is called on an invalidated session

invalidate

void invalidate()
Invalidates this session then unbinds any objects bound to it.

Throws:
IllegalStateException - if this method is called on an already invalidated session

isNew

boolean isNew()
Returns true if the client does not yet know about the session or if the client chooses not to join the session. For example, if the server used only cookie-based sessions, and the client had disabled the use of cookies, then a session would be new on each request.

Returns:
true if the server has created a session, but the client has not yet joined
Throws:
IllegalStateException - if this method is called on an already invalidated session


Представьте ошибку или функцию

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41


Spec-Zone.ru - all specs in one place



free hit counter