Java EE | Что такое JSP. Первое приложение
Последнее обновление: 02.09.2018
Java Server Pages представляет технологию, которая позволяет создавать динамические веб-страницы. Изначально JSP (вместе с сервлетами) на заре развития Java EE являлись доминирующим подходом к веб-разработке на языке Java. И хотя в настоящее время они уступило свое место другой технологии — JSF, тем не менее JSP продолжают широко использоваться.
По сути Java Server Page или JSP представляет собой html-код с вкраплениями кода Java. В то же время станицы jsp — это не стандартные html-страницы. Когда приходит запрос к определенной странице JSP, то сервер обрабатывает ее, генерирует из нее код html и отправляет его клиенту. В итоге пользователь после обращения к странице JSP видит в своем браузере обычную html-страницу.
Как и обычные статические веб-страницы, файлы JSP необходимо размещать на веб-сервере, к которому обычные пользователи могут обращаться по протоколу http, например, набирая в адресной строке браузера нужный адрес.
В данном случае для работы с JSP мы будем использовать Apache Tomcat, который одновременно является и веб-сервером и контейнером сервлетов и JSP.
Создадим простейшую страницу JSP. Для этого где-нибудь на жестком диске определим файл index.jsp. Все станицы JSP имеют расширение jsp. Откроем этот файл в любом текстовом редакторе и определим в нем следующий код:
<% String header = "Apache Tomcat"; %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>First JSP App</title> </head> <body> <h3><%= header %></h3> <p>Today <%= new java. util.Date() %></p> </body> </html>
С помощью тегов <% ... %>
мы можем определить код Java на странице JSP. В данном случае мы просто определяем
переменную типа String, которая называется header.
Затем идет стандартный код страницы html. Чтобы внедрить код java внутрь html-страницы применяются теги <%= %>
—
после знака равно указывается выражение Java, результат которого будет выводиться вместо этих тегов. В данном случае,
используются две таких вставки. Первая вставка — значение переменной header, которая была определена выше. Вторая вставка —
выражение new java.util.Date()
, которое возвращает текущую дату.
Для тех, кто знаком с веб-разработкой на PHP, это может напоминать оформление файлов php, которые также содержать код html и код php.
Теперь поместим данный файл на сервер — в данном случае в контейнер Tomcat. Перейдем в Apache Tomcat к папке webapps\ROOT.
Запустим Apache Tomcat (если он не запущен), и обратимся к приложению по адресу http://localhost:xxxx/index.jsp, где xxxx — номер порта, по которому запущен Tomcat:
В итоге Tomcat получит запрос к странице index.jsp, обработает код на java, сгенерирует html-страницу и отправит ее пользователю.
По умолчанию Apache Tomcat настроен таким образом, что все запросы к корню приложения по умолчанию обрабатываются страницей index.jsp, поэтому мы также можем обращаться к ней по адресу http://localhost:xxxx
НазадСодержаниеВперед
Технологии JSP: описание, особенности, использование OTUS
В программировании на том или ином языке приходится учитывать огромное количество особенностей. Java – универсальный современный способ создания контента кроссплатформенного типа. Его достаточно легко освоить, а вот с применением возникают некие трудности. Особенно если нужно создавать серверные приложения.
В данной статье познакомимся с технологией под названием JSP. Она активно применяется при написании определенного типа веб-страничек. Освоить оную рекомендуется из-за того, что с ее помощью удастся довольно быстро делать HTML-сайты.
Что это такое
JSP расшифровывается как Java Server Pages. Это технология, которая позволяет разработчикам веб-контента создавать содержимое с динамическими и статическими компонентами. Странички JSP включают в себя текст разного типа. Первый вариант – статическая исходная информация. Она может быть представлена в:
- HTML;
- WML;
- XML;
- SVG.
Второй тип текста – JSP элементы. Они отвечают за создание динамического содержимого. Также допускается применение полноценной библиотеки JSP тегов и EL. Все это помогает внедрить Java-код в статичное содержимое JSP-страничек.
JSP – это некая платформенно-независимая технология, используемая для написания HTML динамического характера. Теги здесь применяются для того, чтобы извлекать информацию из БД, обмениваться имеющимися сведениями и так далее. Для запуска часто применяются среды IDE NetBeans или Eclipse.
Несколько слов о сервлетах
Говоря о HTML и серверных утилитах, стоит обратить внимание на такую особенность, как сервлет. Это специальный программный модуль, который используется для обработки запросов клиентов. Отвечает за реализацию интерфейса сервлета. Находится на серверной стороне.
Работает по принципу запрос-ответ. Используются преимущественно для расширения веб-servers. Принцип работы несколько напоминает JSP.
Чем Java Server Page лучше Servlets
Каждый программист при написании HTML странички должен решить, каким функционалом выбранного языка пользоваться. Первая рассматриваемая технология обладает рядом преимуществ перед сервлетами:
- Отвечает за возможность создания и управления HTML динамического типа. В данном случае процессы будут осуществляться более просто.
- Для работы не требуется загрузка дополнительного программного обеспечения или документов. Пример – можно обойтись без файла класса java и web.xml.
- Обработка ведется web-container для всех корректировок кода. Это приводит к тому, что JSP помогает избежать перекомпиляции.
А еще доступ здесь осуществляется напрямую. Сервлеты требуют предварительного проведения сопоставления с web.xml.
О важности технологии
Стоит обратить внимание на то, что JSP – это то, с чем должен ознакомиться каждый программер. Связано это с несколькими причинами. Для начала нужно рассмотреть возможности и сферы применения технологии. Она дает возможность:
- получения информации из HTML страницы в Java-коде;
- отправлять электронные материалы из Java на HTML;
- заниматься написанием Джава-кода непосредственно внутри HTML (но лучше не слишком часто пользоваться соответствующим приемом).
Знать упомянутую технологию важно по нескольким причинам. А именно:
- это одна из ключевых особенностей веб-технологий в Джаве;
- применяется в крупных компаниях и сложных проектах;
- хорошо интегрируется с сервлетами Джавы внутри контейнера сервлетов.
JSV – база для тех, кто планирует заниматься HTML и серверными утилитами. Облегчает и ускоряет работу любого программера.
Цикл жизни
Следующий момент, достойный внимания – это жизненный цикл JSP. Он полностью повторяет servlet, но имеет один дополнительный шаг. Во время него происходит компиляция рассматриваемой технологии в сервлет.
На представленной схеме можно наглядно увидеть, как выглядит соответствующий жизненный цикл. Каждый этап обладает собственными нюансами.
Перевод – самое начало
Это – первый этап. Здесь происходит следующее:
- Контейнер переводит JSP документ в код Джавы. Он выступает сервлетом.
- Перевод проводится в автоматическом режиме через веб-сервер.
- Последний находит и проверяет достоверность, а затем производит запись сервлета для JPS page.
Здесь никаких проблем с пониманием быть не должно.
Компиляция – шаг два
После описанных ранее действий контейнер JSP будет компилировать исходный Java-код. Это необходимо для того, чтобы создавать следующие servlets и сгенерированный классовый файл.
Загружаем и инициализируем – шаг три
Третий этап предусматривает следующее:
- JSP Container загружает ранее созданный servlet.
- Если процесс прошел правильно, будет создан экземпляр класса сервлета.
- Важно учесть, что здесь используется конструктор, не имеющий никаких аргументов.
- Контейнер JSP проводит инициализацию экземпляра объекта через вызов метода init. Он реализуется container посредством обращения к jspInit().
Элемент кода выше наглядно демонстрирует, каким образом осуществляется инициализация экземпляра.
Выполнение – шаг четыре
Теперь, когда основные этапы позади, происходит не менее важный момент – выполнение. Здесь технология JSP вызовет метод _jspService(). У него два параметра:
- httpServletRequest;
- HttpServletResponse.
Вызывается рассматриваемый метод всего один раз для каждого отдельного запроса.
Упомянутый метод будет отвечать за генерацию ответов на посланный запрос.
Разрушение – логическое завершение
На данном этапе целесообразно говорить о прекращении жизненного цикла.
При разрушении контейнер будет удалять JSP при помощи jspDestroy(). Как это происходит, указано на наглядном примере выше.
Первый проект – tutorial
Для того, чтобы лучше разобраться в HTML и динамических страницах, созданных через рассматриваемую технологию, рекомендуется создать первый проект. Приведенный пример будет реализован через Eclipse.
Чтобы воспользоваться первым приложением JSP, необходимы следующие «компоненты»:
- Java;
- JSP;
- Apache Tomcat 8;
- Eclipse IDE.
Разобраться с соответствующей технологией HTML не составляет никакого труда, если действовать последовательно.
Создание проекта
Для того, чтобы создавать страницы JSP и подобного рода приложения, можно действовать следующим образом:
- Создать новый проект динамического характера.
- Добавить имя разработки. Пусть будет RankWebApplication.
- Нажать на кнопку Next.
- Далее предстоит осуществить настройку проекта. Шаг рекомендуется пропустить, так как в примере речь идет лишь о демонстрационной разработке.
- Создавать web.xml не нужно. Этот факт требуется подтвердить в настройках веб-модуля.
- Щелкнуть по кнопке с надписью «Готово».
- Составить структуру каталогов имеющегося проекта.
- Нажать ПКМ по каталогу «Веб Контент» и добавить новый файл JSP в разработку.
- Назвать файл как NewRankFile.jsp.
- Подтвердить операцию.
- Установить шаблон JSP.
- После того, как описанные действия останутся позади, произойдет создание нового файла. В «листинг 1» необходимо добавить html body, предложенное ниже. Он отвечает за выведение рейтинга команд по крикету.
- Запустить проект, кликнув ПКМ по оному. Далее предстоит щелкнуть по надписи «Запуск от имени».
- Выбрать «Запустить на сервере». После этого необходимо собственноручно определить новый сервер Tomcat. Это необходимо для первого проекта в Эклипсе. Требуется поставить отметку около «Всегда использовать данный server для этого проекта». При подобных обстоятельствах не придется осуществлять повторный выбор.
- На экране появится рейтинги UCC и время обновления HTML. Оно будет сгенерировано через JSP выражение. Выходной ссылкой выступает http://localhost:8080/RankWebApplication/NewRankFile.jsp.
По итогу на экране появится картинка, представленная выше. Это – первый ознакомительный проект, наглядно показывающий принцип работы JSP.
Директивы
Теги директивного типа – средства создания указаний направления и инструкций. Оные должны использоваться тогда, когда происходит перевод жизненного цикла JSP. Они оказывают воздействие полностью на структуру класса сервлета.
Обычно обладают весьма простым синтаксисом:
При желании можно объединить установку нескольких имеющихся атрибутов для одной директивы:
Директивы бывают нескольких типов:
- page;
- include;
- taglib.
Каждый вариант предусматривает собственную область применения и особенности. Далее они будут рассмотрены в полной мере.
Директивы страницы
Тег, который предусматривает инструкции и указания для переводчика в момент перевода жизненного цикла JSP для HTML. Включается в любом место. Разработчики имеют негласное правило – тег директивы страницы устанавливается в самом верху кодификации.
Синтаксис представлен на элементе кода выше. А ниже – аналог в XML.
В качестве примера можно описать атрибут в виде импорта. Он включается в самом верху странички. Запись имеет следующую форму:
<%@ page import="java.util.Date" %>.
Атрибуты
Перед тем, как работать с директивами странички JSP, необходимо выучить возможные атрибуты. Они представлены в таблице ниже.
Имя | Характеристика |
Language | Отвечает за определение языка, который применяется в криптлетах JSP файлов, выражениях или иных документах, включаемых к коду оттранслированного типа. |
Page Import | Определение пакетов, которые были импортированы. |
Extends | Установка суперкласса для сервлета, который будет сгенерирован. Использовать крайне осторожно. |
Session | Если значение true – переменная session, которая была заранее определена, привязана к сессии при наличии таковой. В противном случае будет создаваться новая сессия. К ней осуществится непосредственная привязка. Если же значение false – сессии не используются. При обращении к переменной session возникает ошибка трансляции JSP страничек в сервлеты. |
Buffer | Установка размера буфера для JSPWriterOut. |
autoFlush | Отвечает за определение того, нужно ли будет проводить автоматическую очистку буфера при ошибках или переполненности. |
isThreadSafe | При параметре true устанавливается нормальная работа сервлета. Множественные запросы будут обрабатываться одновременно через один экземпляр. False показывает, что сервлет должен наследовать однопоточную модель. Здесь все запросы будут обрабатываться отдельными экземплярами класса. |
errorPage | Страница, которая будет выводиться при ошибках, приводящих к исключениям. |
Info | Отвечает за определение строки информации о странице. Она доступа посредством метода getServletInfo(). |
isErrorPage | Может ли HTML применяется для обработки ошибок иных JSP страничек. Изначально – нет. |
pageEncording | Определение кодировки символов JSP. Изначально установлен charset из contentType. |
contentType | Определение кодировки для страницы JSP и ответа, а также MIME-тип ответа JSP. |
Это лишь основы, которые должен знать каждый уважающий себя программер. Запоминать атрибуты и выучивать наизусть их вовсе не обязательно. Можно заглянуть в любой специализированный учебнику по изучаемой технологии. Там обязательно будут атрибуты тегов страницы.
Включение директивы
Тег include тоже применяется во время перевода жизненного цикла JSP. Необходим для включения файла. Отвечает за объединение содержимого еще нескольких файлов. Директива включения входит в любое место на HTML (странице).
<%@ include file="path/url" >
Выше приведен пример синтаксиса. Обладает всего одним атрибутом – file.
Тег Taglib
Этот вариант применяется для того, чтобы определить библиотеку пользовательских тегов. Дает возможность использования связанных тегов на одной страничке.
Выше пример синтаксиса. Если контейнер не смог обнаружить библиотеку тегов, возникает фатальная ошибка передачи (трансляции).
Скриптовые теги
Изучая tutorials по HTML и JSP, стоит обратить внимание на скриптовые теги. Они относятся к сценариям. Дают возможность добавления кода сценария в кодификацию Джавы для сгенерированной странички. Она создается переводчиком.
Бывает нескольких типов:
- Сценария. Отвечает за реализацию функциональности метода _jspService через написание кода Джавы. Применяется для создания соответствующей кодификации на JSP Page. Имеет вид:
- Декларативный. Применяется, чтобы объявлять переменные класса и реализацию методов класса jspInt и jspDestroy:
- Выражение тега. Применяется для того, чтобы создавать Джава-выражения. Его нельзя заканчивать точкой с запятой, поставленные непосредственно в теге:
Эти основы помогут на первых порах разобраться с директивами JSP.
Языки выражения
Для того, чтобы получать доступ к информации приложения, которая хранится в JavaBeans, нужно использовать специальный язык. Он предусматривает разнообразные компоненты, которые даже у начинающего программера не вызовут никаких затруднений.
Операторы
Операторы могут быть:
- арифметическими;
- отношений;
- логическими.
Тут ситуация точно такая же, как и в случае с обычной математикой. Чтобы разобраться в оных, достаточно взять учебник по информатике.
Неявные объекты
Напрямую используются в EL выражении. Юзерам предоставляется возможность применения соответствующих элементов для того, чтобы извлекать атрибуты из тех или иных областей и значений параметров.
Выше представлены некоторые типы неявных объектов.
Методы
Не стоит забывать о методах. Огромную роль играют методы, которые доступны в классе Throwable.
Вот некоторые из них. Оные считаются самыми важными и используемыми на практике.
О получении полного спектра знаний – что лучше выбрать
Основы программирования поможет освоить любой учебник, посвященный данной тематике. Но пользователи, которые решили полноценно работать с JSP и HTML, должны изучить направление более развернуто. В данном случае предстоит выбрать грамотный подход:
- Обучение в ВУЗе. Ученик узнает, что такое input type и изучит основы программирования на Джаве. Долгий подход, зато по выпуску человеку будет выдан диплом.
- Самообразование. Никаких подтверждений наличия знаний не будет. Вариант хорош для тех, кто хочет быть самоучкой и не претендует на звание опытного разработчика в крупной компании.
- Обучение в техникуме. В России найти среднее профессиональное образование по направлению Java проблематично. Но такой вариант сгодится, если хочется продолжить после обучение в ВУЗе.
Лучший выход out of situation – это прохождение узкоспециализированных курсов с выдачей сертификатов. Можно учиться в любом месте и в любое время. Срок обучения – до года. Есть предложения и для новичков, и для опытных разработчиков.
Что такое JSP? Введение в Jakarta Server Pages
Что такое: Java
Мэтью Тайсон, Архитектор программного обеспечения, |
О компании |
Все, что вам нужно знать об инструментах программирования Java и API, с кодом и примерами.
Одна из оригинальных веб-технологий Java, JSP до сих пор широко используется с сервлетами и JSTL.
- JSP и JSF
- Разработчики все еще используют JSP?
- Написание страниц JSP
- JSP в контейнере сервлета
- Как использовать JSP с Tomcat
- JSP в веб-приложении
Стандартная библиотека тегов Джакарты (JSTL)- Вызов taglibs на страницах JSP
- Макет веб-приложения JSP
- MVC в приложениях JSP и сервлетов
Показать больше
Jakarta Server Pages (ранее JavaServer Pages) — это стандартная технология Java, которую разработчики используют для написания динамических веб-страниц, управляемых данными, для веб-приложений Java. JSP построен на основе сервлета Java (
JSP и сервлеты обычно работают вместе, особенно в старых веб-приложениях Java. С точки зрения кодирования наиболее очевидная разница между JSP и сервлетами заключается в том, что с сервлетами вы пишете код Java, а затем встраиваете в этот код разметку на стороне клиента (например, HTML). С JSP вы начинаете со сценария или разметки на стороне клиента, а затем встраиваете теги JSP, чтобы связать свою страницу с серверной частью Java.
Думайте о JSP как о способе написания разметки со сверхспособностями для взаимодействия с серверной частью. Обычно разметка, такая как HTML, отправляется клиенту, где она взаимодействует с внутренним сервером через JavaScript. JSP предварительно обрабатывает HTML с помощью специальных команд для доступа и использования возможностей сервера, а затем отправляет эту скомпилированную страницу клиенту.
JSP и JSF
JSP тесно связан с JSF или Jakarta Server Faces (ранее JavaServer Faces). JSF — это спецификация Java для создания веб-приложений модель-представление-контроллер (MVC). Это стандарт для веб-фреймворков Java, таких как Eclipse Mojarra, MyFaces и PrimeFaces. Хотя JSP нередко используется в качестве внешнего интерфейса для старых приложений JSF, Facelets является предпочтительной технологией просмотра для современных реализаций JSF.
Разработчики все еще используют JSP?
Разработчики все еще используют JSP для некоторых приложений. Это более простая технология, чем более современные подходы, такие как Jamstack, или механизм шаблонов, такой как Thymeleaf, но иногда простота — это путь.
JSP — это основная веб-технология Java. Как разработчики, мы можем относительно быстро и легко создавать JSP-страницы, и они беспрепятственно взаимодействуют с сервлетами в контейнере сервлетов, таком как Tomcat. Можно сказать, что JSP — это экосистема Java, эквивалентная PHP и ASP в мире . NET.
Вы столкнетесь с JSP в старых веб-приложениях Java. Время от времени вы все еще можете найти его полезным для создания простых динамических веб-страниц Java. Как Java-разработчик, вы должны быть знакомы с JSP и знать, как использовать его в своих программах.
Написание страниц JSP
Простая страница JSP состоит из разметки HTML, встроенной в теги JSP. Файлы JSP имеют расширение .jsp. Сервер JSP (также называемый контейнером JSP) настроен на направление HTTP-запроса на определенную страницу JSP, которая затем отвечает за рендеринг ответа HTTP.
Когда поступает запрос, файл обрабатывается на сервере, и HTML-код отображается как представление приложения, веб-страница. Встроенные теги JSP будут использоваться для вызова кода и данных на стороне сервера. Конечным продуктом JSP является ванильный HTML, который клиентский браузер может понимать как есть. Диаграмма на рис. 1 показывает взаимодействие между HTML, JSP и сервером веб-приложений.
ИДГРис. 1. Обзор страницы Jakarta Server Pages (JSP) в веб-приложении.
В листинге 1 показана простая страница JSP.
Листинг 1. Простая страница JSP
<тело>${2 * 2} должно равняться 4
тело>
Здесь вы видите блок HTML, который включает выражение JSP , которое представляет собой инструкцию для сервера Java, написанную с использованием языка выражений (EL). В выражении ${2 * 2}
${}
представляет собой синтаксис JSP для интерполяции кода в HTML. Знак доллара в фигурных скобках говорит JSP-процессору: «Подождите секунду, мы собираемся начать разговор о чем-то особенном, о чем вам нужно позаботиться». внутри выражения, в этом случае на выходе будет число 4.
JSP в контейнере сервлета
Страницы JSP должны быть развернуты внутри контейнера сервлета. Чтобы развернуть веб-приложение Java на основе JSP и сервлетов, вы должны упаковать файлы .jsp, код Java и метаданные приложения в файл . war, который представляет собой простой файл .zip с обычной структурой для веб-приложений.
После загрузки JSP в контейнер сервлетов он будет скомпилирован в сервлет. JSP и сервлеты имеют схожие характеристики, включая возможность доступа к объектам запроса и ответа на них.
Как использовать JSP с Tomcat
Мы будем использовать пример приложения в Tomcat, чтобы помочь вам начать работу с Jakarta Server Pages. Если у вас еще не установлен Tomcat, перейдите на страницу загрузки Tomcat и выберите установку Tomcat для вашей операционной системы. На момент написания этой статьи Tomcat 10 является текущей версией, совместимой с Jakarta Servlet 6 и Jakarta Server Pages 3.1.
Вы можете установить Tomcat как службу Windows или запустить его из командной строки с помощью /bin/catalina.sh
start или /bin/catalina.bat
. В любом случае запустите Tomcat, затем перейдите на localhost:8080, чтобы увидеть страницу приветствия Tomcat, показанную на рис. 2.
Рисунок 2. Страница приветствия Tomcat.
Неявные объекты в JSP
На странице приветствия Tomcat щелкните ссылку
Затем откройте веб-приложение Implicit Objects Execute . На рис. 3 показан вывод этого примерного приложения. Уделите минуту изучению вывода. Элементы, которые он описывает, всегда доступны по умолчанию на странице JSP.
ИДГРисунок 3. Пример вывода для страницы JSP.
Обратите внимание, что никаких изменений в коде между JSP 2.0 и JSP 3.0, которое является текущим обновлением для Jakarta EE, не требуется. В примере с неявным объектом используется JSP 2.0.
Параметры запроса
Неявные объекты — это встроенные объекты, доступные через страницу JSP. Когда вы разрабатываете веб-страницу, вы будете использовать эти объекты для доступа к таким вещам, как параметры запроса , которые представляют собой данные, отправляемые из клиентского браузера при выдаче HTTP-запроса.
Рассмотрим URL-адрес браузера для приложения неявных объектов: http://localhost:8080/examples/jsp/jsp2/el/implicit-objects.jsp?foo=bar.
Обратите внимание, что на этой странице нет ничего особенного; мы просто используем его, чтобы увидеть, как осуществляется доступ к параметру URL. Параметр ?foo=bar
, и вы можете увидеть его отражение в выводе на веб-странице, где таблица показывает EL Expression и значение bar
. Чтобы проверить это, измените URL-адрес на http://localhost:8080/examples/jsp/jsp2/el/implicit-objects.jsp?foo=zork, нажмите 9.0040 Введите , и вы увидите изменение, отраженное в выводе.
Этот пример представляет собой очень простое введение в использование тегов JSP для доступа к параметрам запроса на стороне сервера. В этом случае страница JSP использует встроенный (неявный) объект с именем param
для доступа к параметрам запроса веб-приложения. Объект param
доступен внутри синтаксиса выражения JSP, который вы видели в листинге 1. В этом примере мы использовали выражение для некоторых математических вычислений: ${2 * 2}
, что привело к выводу 4. В этом случае выражение используется для доступа к объекту и полю этого объекта: ${param.foo}
. Далее мы более подробно рассмотрим пример с неявными объектами.
JSP в веб-приложении
На странице неявных объектов щелкните стрелку назад, а затем ссылку Source . Это приведет вас к коду JSP для веб-приложения неявных объектов, который показан в листинге 2.
Листинг 2. Код JSP для веб-приложения неявных объектов
<%@page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <голова>Язык выражений JSP 2.0 — неявные объекты голова> <тело>Язык выражений JSP 2.0 — неявные объекты
<час> Этот пример иллюстрирует некоторые из неявных объектов, доступных на языке выражений. Следующие неявные объекты доступны (здесь показаны не все): <ул>
<код> <граница таблицы="1">
JSP-функции
Если вы знакомы с HTML, то код в листинге 2 должен быть достаточно понятен. У вас есть ожидаемые элементы HTML Здесь А JSP-функция инкапсулирует фрагмент повторно используемой функциональности. В этом случае функциональность заключается в том, чтобы избежать XML. JSP предлагает множество функций, и вы также можете создавать функции самостоятельно. Чтобы использовать функцию, вы импортируете ее библиотеку на свою страницу JSP, а затем вызываете функцию. В листинге 2 мы включили функцию Синтаксис довольно ясен: он импортирует необходимые функции и присваивает им префикс (в данном случае » Строка импорта в листинге 2 вызывает Библиотека «функции» — это всего лишь одна из библиотек тегов, включенных в JSTL. Другой распространенной taglib является основная библиотека, которую вы импортируете по телефону: Как и Следующий пример тега взят из основной библиотеки JSTL: Страница 1 из 2 Премия InfoWorld Technology of the Year 2023. Прием заявок открыт! Информация о документе Предисловие Часть I Введение 1. Обзор 2. Использование учебных примеров Часть II Веб-уровень 3. Начало работы с веб-приложениями 4. Технология сервлетов Java 5. Технология JavaServer Pages Что такое страница JSP? Пример простой страницы JSP Примеры страниц JSP Жизненный цикл JSP Страница Перевод и составление Исполнение Буферизация Обработка ошибок страницы JSP Создание статического контента Ответ и кодировка страницы Создание динамического содержимого Использование объектов на страницах JSP Использование неявных объектов Использование объектов, специфичных для приложения Использование общих объектов Единый язык выражений Немедленная и отложенная оценка Синтаксис Немедленная оценка Отложенная оценка Выражения значений и методов Выражения значений Выражения методов Определение типа атрибута тега Деактивация оценки выражения Буквенные выражения Разрешение выражений Процесс оценки экспрессии Резольверы EL Неявные объекты Операторы Зарезервированные слова Примеры выражений EL Функции Использование функций Определение функций Компоненты JavaBeans Соглашения о проектировании компонентов JavaBeans Создание и использование компонента JavaBeans Настройка свойств компонента JavaBeans Получение свойств компонента JavaBeans Использование пользовательских тегов Объявление библиотек тегов Включая реализацию библиотеки тегов Повторное использование контента на страницах JSP Передача управления другому веб-компоненту jsp:параметр Элемент Включая апплет Настройка свойств для групп страниц JSP Деактивация оценки выражения EL Объявление кодировок страниц Определение неявных включений Удаление лишних пробелов Дополнительная информация о технологии JavaServer Pages 6. Документы JavaServer Pages 7. Стандартная библиотека тегов страниц JavaServer 8. Пользовательские теги на страницах JSP 9. Скрипты на страницах JSP 10. Технология JavaServer Faces 11. Использование технологии JavaServer Faces в JSP Pages 12. Разработка с использованием технологии JavaServer Faces 13. Создание пользовательских компонентов пользовательского интерфейса 14. Настройка приложений JavaServer Faces 15. Интернационализация и локализация веб-приложений Часть III Веб-службы 16. Создание веб-сервисов с помощью JAX-WS 17. Связь между схемой XML и классами Java 18. API потоковой передачи для XML 19. SOAP с API вложений для Java Часть IV Корпоративные компоненты 20. Корпоративные компоненты 21. Начало работы с корпоративными компонентами 22. Примеры сеансовых компонентов 23. Пример компонента, управляемого сообщениями Часть V Стойкость 24. Введение в Java Persistence API 25. Сохранение на веб-уровне 26. Сохранение на уровне EJB 27. Язык запросов Java Persistence Часть VI Услуги 28. Введение в безопасность на платформе Java EE 29. Безопасность приложений Java EE 30. Защита веб-приложений 31. API службы сообщений Java 32. Примеры Java EE с использованием JMS API 33. Транзакции 34. Подключения к ресурсам 35. Архитектура разъема Часть VII Примеры из практики 36. Заявка на кофе-брейк 37. Банковское заявление Герцога Часть VIII Приложения A. Схемы кодирования Java B. Об авторах Индекс Страница JSP — это текстовый документ, содержащий два типа текста: статический
данные, которые могут быть выражены в любом текстовом формате (например, HTML, SVG,
WML и XML), а также элементы JSP, создающие динамическое содержимое. Рекомендуемое расширение файла для исходного файла страницы JSP
это .jsp. Страница может состоять из верхнего файла, который
включает другие файлы, которые содержат либо полную страницу JSP, либо фрагмент
страницы JSP. Рекомендуемое расширение для исходного файла
фрагмент страницы JSP — .jspf. Элементы JSP на странице JSP могут быть выражены двумя
синтаксис, стандартный и XML, хотя любой данный файл может использовать только один синтаксис.
Страница JSP с синтаксисом XML является XML-документом и может быть
манипулируются инструментами и API для XML-документов. Эта глава и главы Глава 7, Стандартная библиотека тегов JavaServer Pages
через главу 9, Сценарии в JSP Pages документируют только стандартный синтаксис. Синтаксис XML описан в
Глава 6, Документы JavaServer Pages. Веб-страница на рис. 5-1 представляет собой форму, позволяющую выбрать
локали и отображает дату в соответствии с локалью. Рисунок 5-1 Локализованная форма даты Исходный код для этого примера находится в каталоге tut-install /javaeetutorial5/examples/web/date/. Страница JSP, index.jsp, показана ниже; это типичная смесь статического HTML
элементы разметки и JSP. Если вы разработали веб-страницы, вы, вероятно,
знакомы с операторами структуры документа HTML ( , за которыми следует синтаксис JSP-выражения ${ }
, представленный в листинге 1. Но обратите внимание на значение для param.foo
:
${fn:escapeXml(param["foo"])}
fn:escapeXML()
— это функция JSP. escapeXML
со следующей строкой:
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
fn
«), который можно использовать во всех следующих выражениях. Стандартная библиотека тегов Jakarta (JSTL)
taglib
, что является сокращением от библиотеки тегов . В этом случае, мы импортировали стандартную библиотеку тегов Jakarta (JSTL). Библиотеки тегов определяют повторно используемые элементы функциональности для JSP. JSTL — это стандартная библиотека тегов, содержащая набор библиотек тегов, поставляемых с каждым сервлетом и реализацией JSP, включая Tomcat..
Префикс <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" = "c" %>
"fn"
, обозначение "c"
является условным; вы увидите его на большинстве страниц JSP. Защита страниц JSP с помощью JSTL
Связанный: Что такое страница JSP?
Что такое страница JSP?
Пример простой JSP-страницы