Учебники

JSP — неявные объекты

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

В следующей таблице перечислены девять неявных объектов, которые поддерживает JSP.

S.No. Объект и описание
1

запрос

Это объект HttpServletRequest, связанный с запросом.

2

ответ

Это объект HttpServletResponse, связанный с ответом клиенту.

3

из

Это объект PrintWriter, используемый для отправки вывода клиенту.

4

сессия

Это объект HttpSession, связанный с запросом.

5

приложение

Это объект ServletContext, связанный с контекстом приложения.

6

конфиг

Это объект ServletConfig, связанный со страницей.

7

PageContext

Это инкапсулирует использование специфичных для сервера функций, таких как JspWriters с более высокой производительностью.

8

страница

Это просто синоним этого и используется для вызова методов, определенных переведенным классом сервлета.

9

исключение

Объект Exception позволяет получить доступ к данным исключения с помощью назначенного JSP.

запрос

Это объект HttpServletRequest, связанный с запросом.

ответ

Это объект HttpServletResponse, связанный с ответом клиенту.

из

Это объект PrintWriter, используемый для отправки вывода клиенту.

сессия

Это объект HttpSession, связанный с запросом.

приложение

Это объект ServletContext, связанный с контекстом приложения.

конфиг

Это объект ServletConfig, связанный со страницей.

PageContext

Это инкапсулирует использование специфичных для сервера функций, таких как JspWriters с более высокой производительностью.

страница

Это просто синоним этого и используется для вызова методов, определенных переведенным классом сервлета.

исключение

Объект Exception позволяет получить доступ к данным исключения с помощью назначенного JSP.

Объект запроса

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

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

Мы можем охватить полный набор методов, связанных с объектом запроса, в следующей главе — JSP — Клиентский запрос .

Объект ответа

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

Объект ответа также определяет интерфейсы, связанные с созданием новых заголовков HTTP. С помощью этого объекта программист JSP может добавлять новые файлы cookie или отметки даты, коды состояния HTTP и т. Д.

Мы рассмотрим полный набор методов, связанных с объектом ответа, в следующей главе — JSP — Ответ сервера .

Вне Объекта

Выходной неявный объект является экземпляром объекта javax.servlet.jsp.JspWriter и используется для отправки содержимого в ответе.

Исходный объект JspWriter создается по-разному в зависимости от того, буферизирована ли страница или нет. Буферизацию можно легко отключить, используя атрибут buffered = ‘false’ директивы страницы.

Объект JspWriter содержит большинство тех же методов, что и класс java.io.PrintWriter . Тем не менее, JspWriter имеет несколько дополнительных методов, предназначенных для буферизации. В отличие от объекта PrintWriter, JspWriter генерирует исключения IOException .

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

S.No. Метод и описание
1

out.print (dataType dt)

Распечатать значение типа данных

2

out.println (dataType dt)

Выведите значение типа данных, затем завершите строку символом новой строки.

3

out.flush ()

Промойте поток.

out.print (dataType dt)

Распечатать значение типа данных

out.println (dataType dt)

Выведите значение типа данных, затем завершите строку символом новой строки.

out.flush ()

Промойте поток.

Объект сеанса

Объект сеанса является экземпляром javax.servlet.http.HttpSession и ведет себя точно так же, как объекты сеанса ведут себя в Java-сервлетах.

Объект сеанса используется для отслеживания сеанса клиента между клиентскими запросами. Мы рассмотрим полное использование объекта сеанса в следующей главе — JSP — Отслеживание сеанса .

Объект приложения

Объект приложения является прямой оболочкой объекта ServletContext для сгенерированного сервлета и в действительности является экземпляром объекта javax.servlet.ServletContext .

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

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

Мы проверим использование Application Object в главе JSP — Счетчик посещений.

Конфиг Объект

Объект config является экземпляром javax.servlet.ServletConfig и является прямой оболочкой вокруг объекта ServletConfig для сгенерированного сервлета.

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

Следующий метод конфигурации — единственный, который вы можете использовать, и его использование тривиально:

config.getServletName();

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

Объект pageContext

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

Этот объект предназначен для доступа к информации о странице, избегая при этом большей части деталей реализации.

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

Объект pageContext также содержит информацию о директивах, выданных странице JSP, включая информацию о буферизации, errorPageURL и область действия страницы.

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

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

pageContext.removeAttribute("attrName", PAGE_SCOPE);

Использование pageContext можно проверить в разделе JSP — Загрузка файлов .

Объект страницы

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

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

Объект исключения

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

Мы расскажем о полном использовании этого объекта в главе « Обработка исключений» .