|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЭЙМЫ БЕЗ ФРЭЙМОВ | ||||||||
РЕЗЮМЕ: ВНУТРЕННИЙ | ПОЛЕ | КОНСТРУКТОР | МЕТОД | ДЕТАЛИ: ПОЛЕ | КОНСТРУКТОР | МЕТОД |
java.lang.Object
|
+--javax.servlet.jsp.PageContext
Экземпляр класса PageContext предоставляет доступ ко всем пространствам имён,
ассоциированным с JSP-страницей, к различным атрибутам страницы, а также слой
поверх деталей реализации.
Неявные объекты добавляются к pageContext автоматически.
Класс PageContext
это абстрактный класс, разработанный с
возможностью последующего расширения для предоставления реализаций, в
зависимости от свойств самих же реализаций, в среде соответствующих JSP-машин.
Экземпляр PageContext получается классом реализации JSP через вызов метода
JspFactory.getPageContext(), и освобождается через вызов метода
JspFactory.releasePageContext().
Примеры использования PageContext, JspFactory и других классов в объекте Реализации JSP-Страницы можно найти повсюду.
PageContext имеет особенности, упрощающие работу авторов страниц/компонентов и реализаторов страниц, в том числе:
Методы, Предназначенные для Кода, Генерируемого Контейнером
Некоторые методы предназначены для использования кодом , генерируемым контейнером, а не кодом, написанным авторами JSP-страниц или библиотек тэгов JSP.
Методами, поддерживающими жизненный цикл, являются initialize()
и release()
.
Методы делающие возможным обслуживание вложенных потоков JspWriter'а
для реализации Расширений Тэгов: pushBody()
и popBody()
Методы, Предназначенные для Авторов JSP
Некоторые методы предоставляют универсальный доступ к различным
объектам, представляющим области видимости.
Реализация обязана использовать фундаментальные механизмы Servlet,
соответствующие данной области видимости, так что информация может быть
передана вперёд и назад между Servlet'ами и JSP-страницами.
Методы:
setAttribute()
, getAttribute()
,
findAttribute()
, removeAttribute()
,
getAttributesScope()
и getAttributeNamesInScope()
.
Следующие методы предоставляют удобный доступ к неявным объектам:
getOut()
, getException()
, getPage()
getRequest()
, getResponse()
,
getSession()
, getServletConfig()
и getServletContext()
.
Следующие методы предоставляют поддержку для направления, включения и
обработки ошибок:
forward()
, include()
и handlePageException()
.
Поле. Резюме. | |
static java.lang.String
|
APPLICATION
Имя, используемое для хранения ServletContext в таблице имён PageContext. |
static int
|
APPLICATION_SCOPE
Область видимости - приложение: именованные ссылки работают в ServletContext'е, пока он не будет вызван. |
static java.lang.String
|
CONFIG
Имя, используемое для хранения ServletConfig в таблице имён PageContext. |
static java.lang.String
|
EXCEPTION
Имя, используемое для хранения неотловленного исключения в списке атрибутов ServletRequest'а и в таблице имён PageContext. |
static java.lang.String
|
OUT
Имя, используемое для хранения текущего JspWriter'а в таблице имён PageContext. |
static java.lang.String
|
PAGE
Имя, используемое для хранения Servlet в таблицах имён этого PageContext. |
static int
|
PAGE_SCOPE
Область видимости - страница: (это значение по умолчанию) именованные ссылки работают в этом PageContext'е до возвращения из текущего вызова метода Servlet.service(). |
static java.lang.String
|
PAGECONTEXT
Имя, используемое для хранения этого PageContext'а в его собственной таблице имён. |
static java.lang.String
|
REQUEST
Имя, используемое для хранения ServletRequest'а в таблице имён PageContext. |
static int
|
REQUEST_SCOPE
Область видимости - запрос: именованные ссылки работают из ServletRequest'а, ассоциированного с Servlet'ом, пока выполнение текущего запроса не будет завершено. |
static java.lang.String
|
RESPONSE
Имя, используемое для хранения ServletResponse в таблице имён PageContext'а. |
static java.lang.String
|
SESSION
Имя, используемое для хранения HttpSession в таблице имён PageContext'а. |
static int
|
SESSION_SCOPE
Область видимости - сессия (верно, только если данная страница участвует в сессии): именованные ссылки работают из HttpSession (если имеется), ассоциированного с Servlet'ом, пока HttpSession не будет закрыта. |
Конструктор. Резюме. | |
PageContext
()
|
Метод. Резюме. | |
abstract java.lang.Object
|
findAttribute
(java.lang.String name)
Ищет именованный атрибут в области(-ях) видимости page, request, session (если запущена) и application, в указанном порядке, и возвращает ассоциированное значение или null. |
abstract void
|
forward
(java.lang.String relativeUrlPath)
Этот метод используется для перенаправления текущего ServletRequest'а и ServletResponse'а другому активному компоненту приложения. |
abstract java.lang.Object
|
getAttribute
(java.lang.String name)
Возвращает объект, ассоциированный с именем в области видимости page, или null, если объект не найден. |
abstract java.lang.Object
|
getAttribute
(java.lang.String name,
int scope)
Возвращает объект, ассоциированный с именем в специфицированной области видимости, или null, если объект не найден. |
abstract java.util.Enumeration
|
getAttributeNamesInScope
(int scope)
Перечисляет все атрибуты в данной области видимости. |
abstract int
|
getAttributesScope
(java.lang.String name)
Получит область видимости, в которой определён данный атрибут. |
abstract java.lang.Exception
|
getException
()
Текущее значение объекта исключения (Exception). |
abstract JspWriter
|
getOut
()
Текущее значение объекта out (JspWriter). |
abstract java.lang.Object
|
getPage
()
Текущее значение объекта page (Servlet). |
abstract javax.servlet.ServletRequest
|
getRequest
()
Текущее значение объекта request (ServletRequest). |
abstract javax.servlet.ServletResponse
|
getResponse
()
Текущее значение объекта response (ServletResponse). |
abstract javax.servlet.ServletConfig
|
getServletConfig
()
ServletConfig-экземпляр. |
abstract javax.servlet.ServletContext
|
getServletContext
()
ServletContext-экземпляр. |
abstract javax.servlet.http.HttpSession
|
getSession
()
Текущее значение объекта session (HttpSession). |
abstract void
|
handlePageException
(java.lang.Exception e)
Этот метод предназначен для обработки необработанного исключения уровня "page" путём перенаправления исключения специфицированной для данной JSP-страницы странице ошибок, либо, если ничего не было специфицировано, выполняя некоторое зависящее от реализации действие. |
abstract void
|
handlePageException
(java.lang.Throwable t)
Этот метод идентичен handlePageException(Exception), за исключением того, что он принимает Throwable. |
abstract void
|
include
(java.lang.String relativeUrlPath)
Вызывает обработку специфицированных ресурсов как части текущих ServletRequest и ServletResponse, обрабатываемых вызывающим Thread/потоком. |
abstract void
|
initialize
(javax.servlet.Servlet servlet,
javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
java.lang.String errorPageURL,
boolean needsSession,
int bufferSize,
boolean autoFlush)
Метод initialize вызывается для инициализации неинициализированного PageContext'а так, что он (РС) может использоваться классом Реализации JSP для обслуживания входящих запросов и ответов внутри метода _jspService(). |
JspWriter
|
popBody
()
Возвращает "out" предыдущего JspWriter'а, сохраняемый парным pushBody() и обновляет значение атрибута "out" в пространстве имён атрибутов из области видимости page PageConxtext'а. |
BodyContent
|
pushBody
()
Возвращает BodyContent-объект, сохраняет текущий "out" JspWriter и обновляет значение атрибута "out" в пространстве имён атрибутов из области видимости page PageConxtext'а. |
abstract void
|
release
()
Этот метод будет "восстанавливать/reset" начальное состояние PageContext'а, освобождая все ссылки и подготавливая PageContext для возможного использования в последующих вызовах initialize(). |
abstract void
|
removeAttribute
(java.lang.String name)
Удаляет ссылку на объект, ассоциированный с данным именем, просматривая во всех областях видимости в (установленном) порядке просмотра. |
abstract void
|
removeAttribute
(java.lang.String name,
int scope)
Удаляет ссылку на объект, ассоциированный со специфицированным именем в данной области видимости. |
abstract void
|
setAttribute
(java.lang.String name,
java.lang.Object attribute)
Регистрирует имя/name и объект/object, специфицированные семантикой области видимости scope. |
abstract void
|
setAttribute
(java.lang.String name,
java.lang.Object o,
int scope)
Регистрирует имя/name и объект/object, специфицированные семантикой соответствующей области видимости. |
Методы, унаследованные из класса java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
Поле. Детали. |
public static final int PAGE_SCOPE
public static final int REQUEST_SCOPE
public static final int SESSION_SCOPE
public static final int APPLICATION_SCOPE
public static final java.lang.String PAGE
public static final java.lang.String PAGECONTEXT
public static final java.lang.String REQUEST
public static final java.lang.String RESPONSE
public static final java.lang.String CONFIG
public static final java.lang.String SESSION
public static final java.lang.String OUT
public static final java.lang.String APPLICATION
public static final java.lang.String EXCEPTION
Конструктор. Детали. |
public PageContext()
Метод. Детали. |
public abstract void initialize(javax.servlet.Servlet servlet,
javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
java.lang.String errorPageURL,
boolean needsSession,
int bufferSize,
boolean autoFlush)
throws java.io.IOException,
java.lang.IllegalStateException,
java.lang.IllegalArgumentException
Метод initialize вызывается для инициализации неинициализированного PageContext'а так, что он (РС) может быть использован классом Реализации JSP для обслуживания входящего запроса и ответа внутри метода _jspService().
Этот метод обычно вызывается из JspFactory.getPageContext(), чтобы инициализировать статус.
Этот метод нужен для создания начального JspWriter'а и ассоциирования имени "out'а" в области видимости page с этим вновь созданным объектом.
Этот метод не должен использоваться авторами страниц или библиотек тэгов.
servlet
- Servlet, ассоциированный с
данным PageContext'омrequest
-
текущий запрос в данном Servlet'еresponse
-
текущий ответ для данного Servlet'аerrorPageURL
- значение
атрибута errorpage из директивы page или nullneedsSession
-
значение атрибута session из директивы pagebufferSize
-
значение атрибута buffer из директивы pageautoFlush
- значение
атрибута autoflush из директивы pagepublic abstract void release()
Этот метод будет "восстанавливать/reset" начальное состояние PageContext'а, освобождая все ссылки и подготавливая PageContext для возможного использования в последующих вызовах initialize(). Этот метод обычно вызывается из JspFactory.releasePageContext().
Подклассы должны включать этот метод (быть оболочкой).
Этот метод не должен использоваться авторами страниц или библиотек тэгов.
public abstract void setAttribute(java.lang.String name,
java.lang.Object attribute)
name
- имя атрибута для установкиattribute
-
объект для ассоциирования с именемpublic abstract void setAttribute(java.lang.String name,
java.lang.Object o,
int scope)
name
- имя атрибута для установкиo
-
объект для ассоциирования с именемscope
- область видимости, с
которой ассоциируется name/objectpublic abstract java.lang.Object getAttribute(java.lang.String name)
name
- имя получаемого атрибутаpublic abstract java.lang.Object getAttribute(java.lang.String name,
int scope)
name
- имя атрибута для установкиscope
-
область видимости, с которой ассоциируется name/objectpublic abstract java.lang.Object findAttribute(java.lang.String name)
public abstract void removeAttribute(java.lang.String name)
name
- имя удаляемого объекта.public abstract void removeAttribute(java.lang.String name,
int scope)
name
- имя удаляемого объекта.scope
-
область видимости для просмотра.public abstract int getAttributesScope(java.lang.String name)
public abstract java.util.Enumeration getAttributeNamesInScope(int scope)
public abstract JspWriter getOut()
public abstract javax.servlet.http.HttpSession getSession()
public abstract java.lang.Object getPage()
public abstract javax.servlet.ServletRequest getRequest()
public abstract javax.servlet.ServletResponse getResponse()
public abstract java.lang.Exception getException()
public abstract javax.servlet.ServletConfig getServletConfig()
public abstract javax.servlet.ServletContext getServletContext()
public abstract void forward(java.lang.String relativeUrlPath)
throws javax.servlet.ServletException,
java.io.IOException
Этот метод используется для перенаправления текущих ServletRequest и ServletResponse другому активному компоненту приложения.
Если relativeUrlPath начинается с "/", тогда специфицированный URL
вычисляется относительно DOCROOT ServletContext'а
для данной JSP.
Если путь не начинается с "/", специфицированный URL вычисляется относительно URL
запроса, который был отображён в вызывающую JSP.
Верным является только вызов этого метода из Thread
,
выполняющегося внутри метода _jspService(...)
в JSP.
После успешного вызова этого метода, для вызывающего Thread
не
разрешаются попытки модифицировать
ServletResponse
-объект. Любая такая попытка даёт непредсказуемое
поведение. Обычно вызывающий, после вызова этого метода, немедленно
возвращается из метода
_jspService(...)
.
relativeUrlPath
- специфицирует
относительный путь URL к целевому ресурсу, как описано выше. ServletResponse
не в том состоянии, когда перенаправление может быть выполнено.public abstract void include(java.lang.String relativeUrlPath)
throws javax.servlet.ServletException,
java.io.IOException
Вызывает обработку специфицированного ресурса как части текущих ServletRequest и ServletResponse, обрабатываемых вызывающим Thread. Вывод обрабатываемых запросом целевых ресурсов записывается непосредственно в поток вывода ServletResponse'а.
Текущий "out" JspWriter'а для данной JSP очищается, в качестве побочного эффекта этого вызова, до обработки include.
Если relativeUrlPath начинается с "/", специфицированный URL
вычисляется относительно DOCROOT ServletContext'а
для данной JSP.
Если путь не начинается с "/", специфицированный URL вычисляется относительно URL
запроса, который был отображён в вызывающую JSP.
Верным является только вызов этого метода из Thread
,
выполняющегося внутри метода _jspService(...)
в JSP.
relativeUrlPath
- специфицирует
относительный путь URL к включаемому целевому ресурсу.public abstract void handlePageException(java.lang.Exception e)
throws javax.servlet.ServletException,
java.io.IOException
Этот метод предназначен для процессинга/обработки необработанного исключения уровня "page" путём перенаправления исключения специфицированной для данной JSP странице ошибок или, если ничего не было специфицировано, для выполнения какой-либо специфицированной реализацией акции.
Класс реализации JSP обычно должен будет зачистить локальный статус до вызова этого метода и сразу после этого возвратить управление. Недопустимой является генерация вывода клиенту или модификация статуса ServletResponse'а после вызова этого метода.
Этот метод сохранён для обеспечения обратной совместимости. Вновь генерируемый код должен использовать PageContext.handlePageException(Throwable).
e
- обрабатываемое исключение.handlePageException(Throwable)
public abstract void handlePageException(java.lang.Throwable t)
throws javax.servlet.ServletException,
java.io.IOException
Этот метод идентичен методу handlePageException(Exception), за исключением того, что он принимает Throwable. Это предпочтительный метод для использования, так как он позволяет создавать соответствующую реализацию семантики errorpage.
Этот метод предназначен для процессинга/обработки необработанного исключения уровня "page" путём перенаправления исключения специфицированной для данной JSP странице ошибок или, если ничего не было специфицировано, для выполнения какой-либо специфицированной реализацией акции.
Класс реализации JSP обычно должен будет зачистить локальный статус до вызова этого метода и сразу после этого возвратить управление. Недопустимой является генерация вывода клиенту или модификация статуса ServletResponse'а после вызова этого метод.
t
- обрабатываемый throwable.handlePageException(Exception)
public BodyContent pushBody()
public JspWriter popBody()
|
|||||||||
ПРЕДЫДУЩИЙ КЛАСС СЛЕДУЮЩИЙ КЛАСС | ФРЭЙМЫ БЕЗ ФРЭЙМОВ | ||||||||
РЕЗЮМЕ: ВНУТРЕННИЙ | ПОЛЕ | КОНСТРУКТОР | МЕТОД | ДЕТАЛИ: ПОЛЕ | КОНСТРУКТОР | МЕТОД |