English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Скрытые объекты JSP - это Java-объекты, предоставляемые контейнером JSP для каждой страницы, которые разработчики могут использовать напрямую, не требуя явного объявления. Скрытые объекты JSP также известны как предопределенные переменные.
Девять скрытых объектов, поддерживаемых JSP:
объект | Описание |
---|---|
request | HttpServletRequest Пример интерфейса |
response | HttpServletResponse Пример интерфейса |
out | JspWriterПример класса, используемого для вывода результатов на веб-страницу |
session | HttpSessionПример класса |
application | ServletContextПример класса, связанного с контекстом приложения |
config | ServletConfigПример класса |
pageContext | PageContextПример класса, предоставляющий доступ ко всем объектам и命名ным пространствам JSP-страницы |
page | Подобно ключевой фразе this в классах Java |
Exception | ExceptionОбъект класса, представляющий异常 объекта, соответствующего ошибке на странице JSP |
Объект request является примером класса javax.servlet.http.HttpServletRequest. Каждый раз, когда клиент запрашивает JSP-страницу, JSP-движок создает новый объект request для представления этого запроса.
Объект request предоставляет методы для получения информации заголовков HTTP, cookies, HTTP-методы и т.д.
Объект response является примером класса javax.servlet.http.HttpServletResponse. Когда сервер создает объект request, он также создает объект response для ответа на этот клиент.
Объект response также определяет интерфейс для обработки модуля HTTP-заголовков. Через этот объект разработчики могут добавлять новые cookies, timestamps, HTTP-��态 коды и т.д.
Объект 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 является примером класса javax.servlet.http.HttpSession и имеет такое же поведение, как и объект session в Java Servlets.
Объект session используется для отслеживания сеансов между различными клиентскими запросами.
Объект application напрямую 包装 servlet-объект класса ServletContext и является примером класса javax.servlet.ServletContext.
Этот объект представляет JSP-страницу на протяжении всего ее жизненного цикла. Этот объект создается при инициализации JSP-страницы и удаляется при вызове метода jspDestroy().
Добавляя свойства в application, все компоненты вашего веб-приложения могут получить доступ к этим свойствам.
Объект config является примером класса javax.servlet.ServletConfig и напрямую 包装 servlet-объект класса ServletConfig.
Этот объект позволяет разработчику получить доступ к инициализационным параметрам сервлета или JSP-движка, например, к пути файла.
Ниже приведен способ использования объекта config, он не очень важен и поэтому редко используется:
config.getServletName();
Возвращает имя сервлета, содержащееся в элементе <servlet-name>, обратите внимание, что элемент <servlet-name> определен в файле WEB-INF/web.xml.
Объект 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);
Этот объект является ссылкой на пример страницы. Он может быть рассмотрен как представление всего JSP-страницы.
Объект page является синонимом этого объекта.
Объект exception содержит информацию о возникших исключениях с предыдущей страницы. Обычно он используется для генерации соответствующих ответов на условия ошибки.