Неявные объекты JSP: полное руководство

Содержание:

Anonim

Что такое неявный объект JSP?

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

Сколько неявных объектов доступно в JSP?

В контейнере доступно 9 типов неявных объектов:

  1. из
  2. запрос
  3. отклик
  4. config
  5. заявление
  6. сессия
  7. pageContext
  8. страница
  9. исключение

Давайте изучать один за другим

из

  • Out - один из неявных объектов для записи данных в буфер и отправки вывода клиенту в ответ.
  • Объект Out позволяет нам получить доступ к потоку вывода сервлета
  • Out - это объект класса javax.servlet.jsp.jspWriter
  • При работе с сервлетом нам понадобится объект printwriter

Пример:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный Guru JSP1 <% int num1 = 10; int num2 = 20;out.println ("число1 равно" + число1);out.println ("num2 is" + num2);%>

Расшифровка кода:

Строка кода 11-12 - вывод используется для печати в поток вывода

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

Выход:

  • На выходе мы получаем значения num1 и num2

Запрос

  • Объект запроса - это экземпляр java.servlet.http.HttpServletRequest и один из аргументов метода службы.
  • Он будет создаваться контейнером для каждого запроса.
  • Он будет использоваться для запроса информации, такой как параметр, информация заголовка, имя сервера и т. Д.
  • Он использует getParameter () для доступа к параметру запроса.

Пример:

Implicit_jsp2.jsp (форма, из которой отправляется запрос в guru.jsp)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявная форма гуру JSP2 

Guru.jsp (где выполняется действие)

Расшифровка кода:

Строка кода 10-13: в implicit_jsp2.jsp (форма) отправляется запрос, следовательно, переменная username обрабатывается и отправляется в guru.jsp, который является действием JSP.

Guru.jsp

Строка кода 10-11: это действие jsp, где обрабатывается запрос, а имя пользователя берется из формы jsp.

Когда вы выполняете приведенный выше код, вы получаете следующий результат

Выход:

Когда вы напишете тест и нажмете кнопку отправки, вы получите следующий результат: «Приветственный тест».

Ответ

  • «Response» - это экземпляр класса, который реализует интерфейс HttpServletResponse.
  • Контейнер генерирует этот объект и передает методу _jspservice () в качестве параметра
  • «Объект ответа» будет создаваться контейнером для каждого запроса.
  • Он представляет собой ответ, который может быть дан клиенту.
  • Неявный объект ответа используется для типа контента, добавления cookie и перенаправления на страницу ответа

Пример:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный Guru JSP4 <% response.setContentType ("текст / html"); %>

Расшифровка кода:

Строка кода 11: в объекте ответа мы можем установить тип контента

Здесь мы устанавливаем только тип содержимого в объекте ответа. Следовательно, для этого нет выхода.

Конфиг

  • "Конфигурация" имеет тип java.servlet.servletConfig.
  • Создается контейнером для каждой страницы jsp
  • Он используется для получения параметра инициализации в web.xml

Пример:

Web.xml (указывает имя и отображение сервлета)

Implicit_jsp5.jsp (получение значения имени сервлета)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный Guru JSP5 <% String servletName = config.getServletName ();out.println ("Имя сервлета равно" + имя сервлета);%>

Расшифровка кода:

В web.xml

Строка кода 14-17: В web.xml у нас есть отображение сервлетов на классы.

Implicit_jsp5.jsp

Строка кода 10-11: Чтобы получить имя сервлета в JSP, мы можем использовать config.getServletName, который поможет нам получить имя сервлета.

Когда вы выполняете приведенный выше код, вы получаете следующий результат:

Выход:

  • Имя сервлета - "GuruServlet", так как имя присутствует в web.xml.

Заявление

  • Объект приложения (строка кода 10) является экземпляром javax.servlet.ServletContext и используется для получения контекстной информации и атрибутов в JSP.
  • Объект приложения создается контейнером, по одному для каждого приложения при развертывании приложения.
  • Объект Servletcontext содержит набор методов, которые используются для взаимодействия с контейнером сервлета. Мы можем найти информацию о контейнере сервлета.

Пример:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Гуру неявного JSP6 <% application.getContextPath (); %>

Расшифровка кода:

  • В приведенном выше коде атрибут приложения помогает получить контекстный путь страницы JSP.

Сессия

  • Сеанс содержит объект httpsession (строка кода 10).
  • Объект сеанса используется для получения, установки и удаления атрибутов в области сеанса, а также для получения информации о сеансе.

Пример:

Implicit_jsp7 (атрибут установлен)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный JSP <% session.setAttribute ("пользователь", "GuruJSP"); %> Нажмите здесь, чтобы получить имя пользователя 

Implicit_jsp8.jsp (getAttribute)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> неявный Guru JSP8 <% String name = (String) session.getAttribute («пользователь»);out.println («Имя пользователя» + имя);%>

Расшифровка кода:

Implicit_jsp7.jsp

Строка кода 11: мы устанавливаем атрибут user в переменной сеанса, и это значение можно получить из сеанса в зависимости от того, какой jsp вызывается из этого (_jsp8.jsp).

Строка кода 12: мы вызываем другой jsp на href, в котором мы получим значение для установленного атрибута user.

Implicit_jsp8.jsp

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

Когда вы выполните приведенный выше код, вы получите следующий результат:

При нажатии на ссылку для имени пользователя. Вы получите следующий результат.

Выход:

  • Когда мы нажимаем на ссылку, указанную в implicit_jsp7.jsp, мы перенаправляемся на вторую страницу jsp, то есть страницу (_jsp8.jsp), и получаем значение из объекта сеанса атрибута пользователя (_jsp7.jsp).

pageContext:

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

Прицелы бывают 4-х типов:

  • Страница
  • Запрос
  • Сессия
  • Заявление

Пример:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный Guru JSP9 <% pageContext.setAttribute ("студент", "гурустудент", pageContext.PAGE_SCOPE);Имя строки = (Строка) pageContext.getAttribute ("студент");out.println ("имя студента" + имя);%>

Расшифровка кода:

Строка кода 11: мы устанавливаем атрибут с помощью объекта pageContext, который имеет три параметра:

  • Ключ
  • Ценить
  • Объем

В приведенном выше коде ключ - student, а значение - gurustudent, а область действия - область страницы. Здесь область действия - "страница", и она может быть использована только при использовании области действия страницы.

Строка кода 12: мы получаем значение атрибута с помощью pageContext

Когда вы выполните приведенный выше код, вы получите следующий результат:

Выход:

  • На выходе будет напечатано «имя ученика - гурустудент».

Страница

  • Неявная переменная страницы содержит текущий исполняемый объект сервлета для соответствующего jsp.
  • Действует как этот объект для текущей страницы jsp.

Пример:

В этом примере мы используем объект страницы для получения имени страницы с помощью метода toString.

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Неявный Guru JSP10 <% String pageName = page.toString ();out.println ("Имя страницы" + имя страницы);%>

Расшифровка кода:

Строка кода 10-11: В этом примере мы пытаемся использовать метод toString () объекта страницы и пытаемся получить строковое имя страницы JSP.

Когда вы выполняете код, вы получаете следующий результат:

Выход:

  • Вывод - это строковое имя указанной выше страницы jsp

Исключение

  • Исключение - это неявный объект класса throwable.
  • Он используется для обработки исключений в JSP.
  • Объект исключения можно использовать только на страницах ошибок.

    Пример:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1" isErrorPage = "true"%> Неявный Guru JSP 11 <% int [] num1 = {1,2,3,4};out.println (число1 [5]);%><% = исключение%>

Расшифровка кода:

Строка кода 10-12 - имеет массив чисел, то есть num1 с четырьмя элементами. На выходе мы пытаемся вывести пятый элемент массива из числа num1, который не объявлен в списке массивов. Таким образом, он используется для получения объекта исключения jsp.

Выход:

Мы получаем ArrayIndexOfBoundsException в массиве, где мы получаем массив num1 пятого элемента.