English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Тайные объекты JSP

Скрытые объекты JSP - это Java-объекты, предоставляемые контейнером JSP для каждой страницы, которые разработчики могут использовать напрямую, не требуя явного объявления. Скрытые объекты JSP также известны как предопределенные переменные.

Девять скрытых объектов, поддерживаемых JSP:

объектОписание
requestHttpServletRequest Пример интерфейса
responseHttpServletResponse Пример интерфейса
outJspWriterПример класса, используемого для вывода результатов на веб-страницу
sessionHttpSessionПример класса
applicationServletContextПример класса, связанного с контекстом приложения
configServletConfigПример класса
pageContextPageContextПример класса, предоставляющий доступ ко всем объектам и命名ным пространствам JSP-страницы
page Подобно ключевой фразе this в классах Java
ExceptionExceptionОбъект класса, представляющий异常 объекта, соответствующего ошибке на странице JSP

Объект request

Объект request является примером класса javax.servlet.http.HttpServletRequest. Каждый раз, когда клиент запрашивает JSP-страницу, JSP-движок создает новый объект request для представления этого запроса.

Объект request предоставляет методы для получения информации заголовков HTTP, cookies, HTTP-методы и т.д.

Объект response

Объект response является примером класса javax.servlet.http.HttpServletResponse. Когда сервер создает объект request, он также создает объект response для ответа на этот клиент.

Объект response также определяет интерфейс для обработки модуля HTTP-заголовков. Через этот объект разработчики могут добавлять новые cookies, timestamps, HTTP-��态 коды и т.д.

Объект out

Объект out является примером класса javax.servlet.jsp.JspWriter и используется для записи содержимого в объект response.

オリジナルのJspWriterクラスオブジェクトは、ページ имеет кэш или нет, для различных операций по инстанцированию. Вы можете легко отключить кэш, используя атрибут buffered='false' в инструкции page.

Класс JspWriter содержит большинство методов класса java.io.PrintWriter. Однако, класс JspWriter добавляет некоторые методы, специально предназначенные для обработки кэша. Кроме того, класс JspWriter выбрасывает исключения IOExceptions, в то время как PrintWriter этого не делает.

В таблице ниже перечислены важные методы, которые мы будем использовать для вывода данных типа boolean, char, int, double, String, object и т.д.:

МетодОписание
out.print(dataType dt); Вывод значения типа Type
out.println(dataType dt); Вывод значения типа Type и переход на новую строку
out.flush(); Очистка потока вывода

Объект session

Объект session является примером класса javax.servlet.http.HttpSession и имеет такое же поведение, как и объект session в Java Servlets.

Объект session используется для отслеживания сеансов между различными клиентскими запросами.

Объект application

Объект application напрямую 包装 servlet-объект класса ServletContext и является примером класса javax.servlet.ServletContext.

Этот объект представляет JSP-страницу на протяжении всего ее жизненного цикла. Этот объект создается при инициализации JSP-страницы и удаляется при вызове метода jspDestroy().

Добавляя свойства в application, все компоненты вашего веб-приложения могут получить доступ к этим свойствам.

Объект config

Объект config является примером класса javax.servlet.ServletConfig и напрямую 包装 servlet-объект класса ServletConfig.

Этот объект позволяет разработчику получить доступ к инициализационным параметрам сервлета или JSP-движка, например, к пути файла.

Ниже приведен способ использования объекта config, он не очень важен и поэтому редко используется:

config.getServletName();

Возвращает имя сервлета, содержащееся в элементе <servlet-name>, обратите внимание, что элемент <servlet-name> определен в файле WEB-INF/web.xml.

Объект pageContext

Объект pageContext является примером класса javax.servlet.jsp.PageContext и используется для представления всего JSP-страницы。

Этот объект主要用于访问页面信息,同时过滤掉大部分实现细节。

Этот объект хранит ссылки на объекты request и response. Объекты application, config, session, out могут быть экспортированы через свойства этого объекта.

Объект pageContext также содержит информацию о командах, переданных в JSP-страницу, включая информацию о кэше, URL ErrorPage, странице scope и т.д.

Класс PageContext определяет некоторые поля, включая PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, APPLICATION_SCOPE. Он также предоставляет более 40 методов, половина из которых наследуется от класса javax.servlet.jsp.JspContext.

Одна из важных методов - removeAttribute() принимает один или два параметра. Например, pageContext.removeAttribute("attrName") удаляет атрибуты из всех четырех scope, но следующий метод удаляет только атрибуты из определенного scope:

pageContext.removeAttribute("attrName", PAGE_SCOPE);

Объект page

Этот объект является ссылкой на пример страницы. Он может быть рассмотрен как представление всего JSP-страницы.

Объект page является синонимом этого объекта.

Объект exception

Объект exception содержит информацию о возникших исключениях с предыдущей страницы. Обычно он используется для генерации соответствующих ответов на условия ошибки.