Неявные объекты JSP — это объекты Java, предоставляемые контейнером JSP для каждой страницы. Разработчики могут использовать их напрямую без явного объявления. Неявные объекты JSP также известны как предопределенные переменные.
Девять неявных объектов, поддерживаемых JSP:
объект | описывать |
---|---|
запрос | Экземпляр класса HttpServletRequest . |
ответ | Экземпляр класса HttpServletResponse |
вне | Экземпляр класса PrintWriter , используемый для вывода результатов на веб-страницу. |
сессия | Экземпляр класса HttpSession . |
приложение | Экземпляр класса ServletContext , связанный с контекстом приложения. |
конфигурация | Экземпляр класса ServletConfig |
Контекст страницы | Экземпляр класса PageContext , обеспечивающий доступ ко всем объектам и пространствам имен страницы JSP. |
страница | Подобно этому ключевому слову в классах Java |
Исключение | Объект класса Exception представляет соответствующий объект исключения на странице JSP, где произошла ошибка. |
Объект запроса является экземпляром класса javax.servlet.http.HttpServletRequest. Всякий раз, когда клиент запрашивает страницу JSP, механизм JSP создает новый объект запроса для представления запроса.
Объект запроса предоставляет ряд методов для получения информации HTTP-заголовка, файлов cookie, методов HTTP и т. д.
Объект ответа является экземпляром класса javax.servlet.http.HttpServletResponse. Когда сервер создает объект запроса, он также создает объект ответа для ответа клиенту.
Объект ответа также определяет интерфейс для обработки модулей заголовка HTTP. С помощью этого объекта разработчики могут добавлять новые файлы cookie, временные метки, коды состояния HTTP и т. д.
Объект out является экземпляром класса javax.servlet.jsp.JspWriter и используется для записи содержимого в объект ответа.
Исходный объект класса JspWriter выполняет различные операции создания экземпляра в зависимости от того, кэширована ли страница. Кэширование можно легко отключить с помощью атрибута buffered='false' в директиве страницы.
Класс JspWriter содержит большинство методов класса java.io.PrintWriter. Однако в JspWriter добавлено несколько новых методов, специально предназначенных для кэширования. Кроме того, класс JspWriter будет генерировать исключения IOException, а PrintWriter — нет.
В следующей таблице перечислены важные методы, которые мы будем использовать для вывода логических, char, int, double, String, объектных и других типов данных:
метод | описывать |
---|---|
out.print(тип данных dt) | Значение типа вывода |
out.println(тип данных dt) | Выведите значение типа типа, а затем перенесите строку |
out.flush() | Очистить выходной поток |
Объект сеанса является экземпляром класса javax.servlet.http.HttpSession. Имеет то же поведение, что и объект сеанса в Java-сервлетах.
Объект сеанса используется для отслеживания сеансов между клиентскими запросами.
Объект приложения непосредственно обертывает объект класса ServletContext сервлета и является экземпляром класса javax.servlet.ServletContext.
Этот объект представляет страницу JSP на протяжении всего ее жизненного цикла. Этот объект создается при инициализации страницы JSP и удаляется при вызове метода jspDestroy().
Добавляя свойства в свое приложение, эти свойства становятся доступными для всех файлов JSP, составляющих ваше веб-приложение.
Объект конфигурации является экземпляром класса javax.servlet.ServletConfig, который непосредственно обертывает объект класса ServletConfig сервлета.
Этот объект позволяет разработчикам получить доступ к параметрам инициализации механизма сервлетов или JSP, таким как пути к файлам и т. д.
Ниже описано, как использовать объект конфигурации. Это не очень важно, поэтому он не часто используется:
config.getServletName();Он возвращает имя сервлета, содержащееся в элементе <servlet-name>. Обратите внимание, что элемент <servlet-name> определен в файле WEB-INFweb.xml.
Объект pageContext является экземпляром класса javax.servlet.jsp.PageContext и используется для представления всей страницы JSP.
Этот объект в основном используется для доступа к информации о странице при фильтрации большинства деталей реализации.
Этот объект хранит ссылки на объект запроса и объект ответа. Объект приложения, объект конфигурации, объект сеанса и объект вывода можно экспортировать, обратившись к свойствам этого объекта.
Объект pageContext также содержит информацию об инструкциях, передаваемую на страницу JSP, включая информацию о кэше, URL-адрес ErrorPage, область страницы и т. д.
Класс PageContext определяет некоторые поля, включая PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE и APPLICATION_SCOPE. Он также предоставляет более 40 методов, половина из которых наследуется от класса javax.servlet.jsp.JspContext.
Одним из важных методов является removeArribute(), который принимает один или два параметра. Например, pageContext.removeArribute("attrName") удаляет связанные атрибуты в четырех областях, но следующий метод удаляет связанные атрибуты только в определенной области:
pageContext.removeAttribute("attrName", PAGE_SCOPE);Этот объект является ссылкой на экземпляр страницы. Его можно рассматривать как представителя всей страницы JSP.
Объект страницы является синонимом этого объекта.
Объект исключения содержит информацию об исключении, полученную на предыдущей странице. Он часто используется для генерации соответствующих ответов на ошибочные ситуации.