Jakarta Server Pages

редактировать
JSP
Расширение имени файла .jsp,.jspx,.jspf
Тип Интернет-носителя приложение / jsp
Последний выпуск 2.3.6
Standard JSR 245
Веб-сайтпроекты.eclipse.org / projects / ee4j.jsp Отредактируйте это в Викиданных

Jakarta Server Pages (JSP ; ранее JavaServer Pages) - это набор технологий, которые помогают разработчикам программного обеспечения создавать динамически генерируемые веб-страницы. s на основе HTML, XML, SOAP или других типов документов. Выпущенная в 1999 г. компанией Sun Microsystems, JSP аналогична PHP и ASP, но использует язык программирования Java.

для развертывания и запуска Jakarta. Server Pages, требуется совместимый веб-сервер с контейнером сервлетов, например Apache Tomcat или Jetty.

Содержание
  • 1 Обзор
  • 2 Синтаксис
    • 2.1 Язык выражений
    • 2.2 Дополнительные теги
  • 3 Компилятор
  • 4 Критика
  • 5 См. Также
    • 5.1 Контейнеры сервлетов
    • 5.2 Альтернативы шаблонов на основе Java
  • 6 Ссылки
  • 7 Дополнительная литература
  • 8 Внешние ссылки
Обзор
Архитектура JSP Model 2.

Архитектурно JSP можно рассматривать как высокопроизводительную уровень абстракция из сервлетов Java. JSP транслируются в сервлеты во время выполнения, поэтому JSP является сервлетом; каждый сервлет JSP кэшируется и используется повторно до тех пор, пока не будет изменен исходный JSP.

Jakarta Server Pages можно использовать независимо или как компонент представления на стороне сервера модель – представление – контроллер дизайн, обычно с JavaBeans в качестве модели и сервлетами Java (или фреймворком, таким как Apache Struts ) в качестве контроллера. Это тип архитектуры Model 2.

JSP позволяет чередовать код Java и определенные предопределенные действия со статическим содержимым веб-разметки, таким как HTML. Полученная страница компилируется и выполняется на сервере для доставки документа. Скомпилированные страницы, как и любые зависимые библиотеки Java, содержат байт-код Java, а не машинный код . Как и любая другая программа.jar или Java, код должен выполняться в виртуальной машине Java (JVM), которая взаимодействует с хост-сервером операционной системой, чтобы обеспечить абстрактную, платформенно-нейтральную среду..

JSP обычно используются для доставки документов HTML и XML, но с помощью OutputStream они могут доставлять и другие типы данных.

Веб-контейнер создает Неявные объекты JSP, такие как запрос, ответ, сеанс, приложение, конфигурация, страница, контекст страницы, выход и исключение. JSP Engine создает эти объекты на этапе трансляции.

Синтаксис
В Викиучебнике есть книга по теме: Программирование J2EE / JavaServer Pages

Страницы JSP используют несколько разделителей для скриптинга функций. Самый простой - это <%... %>, который включает скриптлет JSP. Скриплет - это фрагмент кода Java, который запускается, когда пользователь запрашивает страницу. Другие распространенные разделители включают <%=... %>для выражений, в которых скриптлет и разделители заменяются результатом вычисления выражения, и директивы, обозначенные <%@... %>.

. Код Java не обязательно должен быть полным или автономным в пределах одного блока скриптлета.. Он может объединять разметку содержимого при условии, что страница в целом синтаксически правильна. Например, любые блоки Java if / for / while, открытые в одном скриптлете, должны быть правильно закрыты в более позднем скриптлете для успешной компиляции страницы. Это позволяет смешивать код и может привести к плохим методам программирования.

Контент, который попадает в разделенный блок кода Java (охватывающий несколько скриптлетов), подчиняется этому коду. Содержимое внутри блока if будет отображаться в выводе только тогда, когда условие if оценивается как истинное. Точно так же содержимое внутри конструкции цикла может появляться в выходных данных несколько раз, в зависимости от того, сколько раз выполняется тело цикла.

Следующее будет допустимым для цикла на странице JSP:

Считаем до трех:

<% for (int i=1; i<4; i++) { %>

Это число <%= i %>.

<% } %>

ОК.

Вывод, отображаемый в веб-браузер пользователя будет:

Считаем до трех: Это число 1. Это число 2. Это число 3. Хорошо.

Язык выражений

Версия 2.0 спецификации JSP добавила поддержку языка выражений (EL), используемого для доступа к данным и функциям в объектах Java. В JSP 2.1 он был свернут в Unified Expression Language, который также используется в JavaServer Faces.

Пример синтаксиса EL :

Значение «переменной» в объект "javabean" - это $ {javabean.variable}.

Дополнительные теги

В синтаксис JSP добавляются дополнительные теги, называемые действиями JSP, для вызова встроенных функций. Кроме того, технология позволяет создавать собственные библиотеки тегов JSP, которые действуют как расширения стандартного синтаксиса JSP. Одной из таких библиотек является JSTL с поддержкой общих задач, таких как итерация и условные выражения (эквивалент операторов «for» и «if» в Java.)

Compiler

A JavaServer Компилятор страниц - это программа, которая анализирует JSP и преобразует их в исполняемые сервлеты Java. Программа этого типа обычно встраивается в сервер приложений и запускается автоматически при первом обращении к JSP, но страницы также могут быть предварительно скомпилированы для повышения производительности или скомпилированы как часть процесса сборки для тестирования на наличие ошибок.

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

Критика

В 2000 году Джейсон Хантер, автор книги «Программирование сервлетов Java», описал ряд «проблем» с JavaServer Pages. Тем не менее, он писал, что, хотя JSP не может быть «лучшим решением для платформы Java», это было «решение Java, которое больше всего похоже на решение не-Java», под которым он имел в виду Active Server Pages от Microsoft.. Позже он добавил на свой сайт примечание о том, что JSP улучшился с 2000 года, но также упомянул его конкурентов, Apache Velocity и Tea (язык шаблонов). Сегодня существует несколько альтернатив, и ряд страниц, ориентированных на JSP, в более крупных веб-приложениях считается техническим долгом.

См. Также
  • icon Портал компьютерного программирования

Контейнеры сервлетов

Альтернативы шаблонов на основе Java

Ссылки
Дополнительная литература
Внешние ссылки
Викискладе есть средства массовой информации, связанные с серверными страницами Джакарты.
Викиучебники имеют книгу по тема: Программирование J2EE / JavaServer Pages
Последняя правка сделана 2021-05-24 12:20:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте