Что такое неявный объект JSP?
- Неявные объекты JSP создаются на этапе преобразования JSP в сервлет.
- Эти объекты можно напрямую использовать в скриптах, которые входят в метод службы.
- Они создаются контейнером автоматически, и к ним можно получить доступ с помощью объектов.
Сколько неявных объектов доступно в JSP?
В контейнере доступно 9 типов неявных объектов:
- из
- запрос
- отклик
- config
- заявление
- сессия
- pageContext
- страница
- исключение
Давайте изучать один за другим
из
- 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 пятого элемента.