Содержание

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, он должен использовать движок JSP (JSP engine), который также называют JSP-контейнером. Есть множество движков JSP, и все они реализуют одну и ту же спецификацию и в целом работают одинаково. Однако тем не менее при переносе кода с одного веб-сервера на другой могут потребоваться небольшие изменения.

В данном случае для работы с 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.

Удалим из нее все содержимое и поместим нашу страницу index.jsp, которая была создана выше.

Запустим 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 странички должен решить, каким функционалом выбранного языка пользоваться. Первая рассматриваемая технология обладает рядом преимуществ перед сервлетами:

  1. Отвечает за возможность создания и управления HTML динамического типа. В данном случае процессы будут осуществляться более просто.
  2. Для работы не требуется загрузка дополнительного программного обеспечения или документов. Пример – можно обойтись без файла класса java и web.xml.
  3. Обработка ведется web-container для всех корректировок кода. Это приводит к тому, что JSP помогает избежать перекомпиляции.

А еще доступ здесь осуществляется напрямую. Сервлеты требуют предварительного проведения сопоставления с web.xml.

О важности технологии

Стоит обратить внимание на то, что JSP – это то, с чем должен ознакомиться каждый программер. Связано это с несколькими причинами. Для начала нужно рассмотреть возможности и сферы применения технологии. Она дает возможность:

  • получения информации из HTML страницы в Java-коде;
  • отправлять электронные материалы из Java на HTML;
  • заниматься написанием Джава-кода непосредственно внутри HTML (но лучше не слишком часто пользоваться соответствующим приемом).

Знать упомянутую технологию важно по нескольким причинам. А именно:

  • это одна из ключевых особенностей веб-технологий в Джаве;
  • применяется в крупных компаниях и сложных проектах;
  • хорошо интегрируется с сервлетами Джавы внутри контейнера сервлетов.

JSV – база для тех, кто планирует заниматься HTML и серверными утилитами. Облегчает и ускоряет работу любого программера.

Цикл жизни

Следующий момент, достойный внимания – это жизненный цикл JSP. Он полностью повторяет servlet, но имеет один дополнительный шаг. Во время него происходит компиляция рассматриваемой технологии в сервлет.

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

Перевод – самое начало

Это – первый этап. Здесь происходит следующее:

  1. Контейнер переводит JSP документ в код Джавы. Он выступает сервлетом.
  2. Перевод проводится в автоматическом режиме через веб-сервер.
  3. Последний находит и проверяет достоверность, а затем производит запись сервлета для JPS page.

Здесь никаких проблем с пониманием быть не должно.

Компиляция – шаг два

После описанных ранее действий контейнер JSP будет компилировать исходный Java-код. Это необходимо для того, чтобы создавать следующие servlets и сгенерированный классовый файл.

Загружаем и инициализируем – шаг три

Третий этап предусматривает следующее:

  1. JSP Container загружает ранее созданный servlet.
  2. Если процесс прошел правильно, будет создан экземпляр класса сервлета.
  3. Важно учесть, что здесь используется конструктор, не имеющий никаких аргументов.
  4. Контейнер 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, должны изучить направление более развернуто. В данном случае предстоит выбрать грамотный подход:

  1. Обучение в ВУЗе. Ученик узнает, что такое input type и изучит основы программирования на Джаве. Долгий подход, зато по выпуску человеку будет выдан диплом.
  2. Самообразование. Никаких подтверждений наличия знаний не будет. Вариант хорош для тех, кто хочет быть самоучкой и не претендует на звание опытного разработчика в крупной компании.
  3. Обучение в техникуме. В России найти среднее профессиональное образование по направлению Java проблематично. Но такой вариант сгодится, если хочется продолжить после обучение в ВУЗе.

Лучший выход out of situation – это прохождение узкоспециализированных курсов с выдачей сертификатов. Можно учиться в любом месте и в любое время. Срок обучения – до года. Есть предложения и для новичков, и для опытных разработчиков.

Что такое JSP? Введение в Jakarta Server Pages

Что такое: Java

О компании |

Все, что вам нужно знать об инструментах программирования Java и API, с кодом и примерами.

Одна из оригинальных веб-технологий Java, JSP до сих пор широко используется с сервлетами и JSTL.

Вот как можно использовать Jakarta Server Pages для создания динамических веб-страниц, которые подключаются к серверной части Java. Антиа Камминг / Getty Images Содержание
  • JSP и JSF
  • Разработчики все еще используют JSP?
  • Написание страниц JSP
  • JSP в контейнере сервлета
  • Как использовать JSP с Tomcat
  • JSP в веб-приложении
  • Стандартная библиотека тегов Джакарты (JSTL)
  • Вызов taglibs на страницах JSP
  • Макет веб-приложения JSP
  • MVC в приложениях JSP и сервлетов

Показать больше

Jakarta Server Pages (ранее JavaServer Pages) — это стандартная технология Java, которую разработчики используют для написания динамических веб-страниц, управляемых данными, для веб-приложений Java. JSP построен на основе сервлета Java (

aka  Jakarta Servlet) и является одной из веб-технологий Java, включенных для постоянной поддержки и обновлений в Jakarta EE.

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.

IDG

Рисунок 2. Страница приветствия Tomcat.

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

На странице приветствия Tomcat щелкните ссылку

Examples , затем щелкните JSP Examples .

Затем откройте веб-приложение 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 — неявные объекты

<час> Этот пример иллюстрирует некоторые из неявных объектов, доступных на языке выражений. Следующие неявные объекты доступны (здесь показаны не все): <ул>
  • pageContext — объект PageContext
  • pageScope — карта, которая сопоставляет имена атрибутов на уровне страницы с их значения
  • requestScope — карта, которая сопоставляет имена атрибутов в области запроса. к их значениям
  • sessionScope — карта, которая сопоставляет имена атрибутов в области сеанса. к их значениям
  • applicationScope — карта, отображающая атрибут области приложения. имена к их значениям
  • param — карта, которая сопоставляет имена параметров с одной строкой. значение параметра
  • paramValues ​​— карта, которая сопоставляет имена параметров со строкой [] из все значения этого параметра
  • header — карта, которая сопоставляет имена заголовков с одной строкой. значение заголовка
  • headerValues ​​— карта, которая сопоставляет имена заголовков со строкой [] из все значения для этого заголовка
  • initParam — карта, отображающая параметр инициализации контекста. имена в значение параметра String
  • cookie — карта, которая сопоставляет имена файлов cookie с одним объектом cookie.
  • <цитата> Изменить параметр
    jsp" method="GET"> foo = <тип ввода="отправить">
    <код> <граница таблицы="1"> Выражение EL Результат \${param.foo} ${fn:escapeXml(param["foo"])}  \${параметр["foo"]} ${fn:escapeXml(param["foo"])}  \${заголовок["хост"]} ${fn:escapeXml(header["host"])}  \${заголовок["принять"]} ${fn:escapeXml(header["accept"])}  \${заголовок["агент пользователя"]} ${fn:escapeXml(header["user-agent"])} 

    JSP-функции

    Если вы знакомы с HTML, то код в листинге 2 должен быть достаточно понятен. У вас есть ожидаемые элементы HTML , за которыми следует синтаксис JSP-выражения ${ } , представленный в листинге 1. Но обратите внимание на значение для param.foo :

    ${fn:escapeXml(param["foo"])} 
     

    Здесь fn:escapeXML() — это функция JSP.

    А JSP-функция инкапсулирует фрагмент повторно используемой функциональности. В этом случае функциональность заключается в том, чтобы избежать XML. JSP предлагает множество функций, и вы также можете создавать функции самостоятельно. Чтобы использовать функцию, вы импортируете ее библиотеку на свою страницу JSP, а затем вызываете функцию.

    В листинге 2 мы включили функцию escapeXML со следующей строкой:

    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
     

    Синтаксис довольно ясен: он импортирует необходимые функции и присваивает им префикс (в данном случае » fn «), который можно использовать во всех следующих выражениях.

    Стандартная библиотека тегов Jakarta (JSTL)

    Строка импорта в листинге 2 вызывает taglib , что является сокращением от библиотеки тегов . В этом случае, мы импортировали стандартную библиотеку тегов Jakarta (JSTL). Библиотеки тегов определяют повторно используемые элементы функциональности для JSP. JSTL — это стандартная библиотека тегов, содержащая набор библиотек тегов, поставляемых с каждым сервлетом и реализацией JSP, включая Tomcat.

    Библиотека «функции» — это всего лишь одна из библиотек тегов, включенных в JSTL. Другой распространенной taglib является основная библиотека, которую вы импортируете по телефону:

    .
    Префикс <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" = "c" %>
     

    Как и "fn" , обозначение "c" является условным; вы увидите его на большинстве страниц JSP.

    Защита страниц JSP с помощью JSTL

    Следующий пример тега взят из основной библиотеки JSTL:

    
     
    Связанный:

    • Ява
    • Разработка программного обеспечения
    • Веб-разработка
    • Средства разработки

    Страница 1 из 2

    Премия InfoWorld Technology of the Year 2023. Прием заявок открыт!

    Что такое страница JSP?

    Информация о документе

    Предисловие

    Часть 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?

    Страница 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.

    Пример простой JSP-страницы

    Веб-страница на рис. 5-1 представляет собой форму, позволяющую выбрать локали и отображает дату в соответствии с локалью.

    Рисунок 5-1 Локализованная форма даты

    Исходный код для этого примера находится в каталоге tut-install /javaeetutorial5/examples/web/date/. Страница JSP, index.jsp, показана ниже; это типичная смесь статического HTML элементы разметки и JSP. Если вы разработали веб-страницы, вы, вероятно, знакомы с операторами структуры документа HTML (, и т. д.) и Операторы HTML, создающие форму () и меню ( < c:if test="${selectedFlag}" > < jsp:setProperty name="locales" свойство = "выбранная локальная строка" значение = " ${selectedLocaleString} " /> < jsp:useBean /> < jsp:setProperty name="date" property="locale" значение=" ${locales. selectedLocale} "/> Дата: ${date.date}

    Чтобы развернуть приложение даты с помощью IDE NetBeans, выполните следующие действия:

    1. Запустите сервер приложений.

    2. В среде IDE NetBeans выберите «Файл» → «Открыть проект».

    3. В диалоговом окне «Открыть проект» перейдите к:

        тут-установить  /javaeetutorial5/examples/web/ 
    4. Выберите папку даты.

    5. Установите флажок «Открыть как основной проект».

    6. Нажмите «Открыть проект».

    7. На вкладке «Проекты» щелкните правой кнопкой мыши проект даты и выберите «Отменить развертывание и развертывание».

    Чтобы развернуть приложение даты с помощью инструмента Ant, выполните следующие действия:

    1. В окне терминала перейдите к tut-install /javaeetutorial5/examples/web/date/.

    2. Тип и .

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *