JavaServer Pages≥
это технология Java≥
2 Platform, Enterprise Edition
(J2EE) для создания приложений, генерирующих динамическое web-содержимое - HTML,
DHTML, XHTML и XML. Технология
JavaServer Pages даёт возможность легко создавать динамическое содержимое web-страниц, предельно мощное и гибкое.
Технология JavaServer Pages придаёт смысл текстуальной спецификации создания
динамического
response\ответа на request\запрос. Эта технология основывается на
следующих понятиях:
Template Data\Шаблонные Данные
Некоторая часть динамического содержимого является фиксированным, или
шаблонным,содержимым. Фрагменты текста или XML являются типичными
шаблонными данными. JSP-технология поддерживает естественное манипулирование
шаблонными данными.
Добавление Динамических Данных JSP-технология предоставляет простой, но мощный способ добавлять
динамические данные к шаблонным данным.
Инкапсуляция Функциональности JSP-технология предоставляет два соотнесённых механизма для инкапсуляции
функциональности: архитектура компонентов JavaBeans и библиотеки тэгов.
Поддержка Утилитами
Хорошая поддержка утилитами ведёт к значительному повышению производительности.
Соответственно, JSP-технология имеет средства для создания качественных утилит
авторизации. Тщательная проработка этих концепций привела к созданию гибкой и
мощной серверной технологии.
JSP.1.1.2
Преимущества Технологии
JavaServer Pages
Технология
JavaServer Pages даёт следующие преимущества:
Свойство Write Once, Run Anywhere≥ (Написано Один Раз, Запускается
Везде)
JSP-технология является платформонезависимой на динамических web-страницах, web-серверах
и в лежащих в её основе серверных компонентах. JSP-страницы могут создаваться
на любой платформе, работать на любом web-сервере или сервере приложений,
работающим с web, и читаться в любом web-браузере.
Серверные компоненты могут быть созданы на любой платформе и работать на любом
сервере.
Поддержка качественными утилитами Независимость от платформы позволяетпользователям
JSP выбирать best-of-breed\самые-породистые утилиты. Кроме того,
технология JavaServer Pages
была разработана для создания условий для разработки высококачественных
переносимых утилит.
Разделение Ролей JSP поддерживает разделение ролей автора и разработчика: Разработчики пишут компоненты, взаимодействующие с серверными/server-side
объектами. Авторы помещают статические данные и динамическое содержимое в одном
месте с целью создания представления, подходящего для данной аудитории.
Каждая группа может делать свою работу, не вникая в работу других. Каждая роль
имеет различные возможности, но,
хотя эти возможности может реализовывать один человек, лучше этого не
допускать. Разделение ролей даёт возможность естественного разделения труда.
Подразделение разработчиков может привлекаться для разработки многократно
используемых компонентов, используемых авторами.
Многократно используемые компоненты и библиотеки тэгов Технология JavaServer Pages включает использование компонентов, таких как JavaBeans≥, Enterprise JavaBeans≥
и библиотеки тэгов. Эти компоненты могут использоваться в интерактивных
утилитах для разработки компонентов и создания страниц,
давая в итоге ощутимую экономию времени. Кроме того, они несут в себе мощь
межплатформенной гибкости и силы языка Java или других языков скриптинга.
Разделение динамического и статического содержимого Технология JavaServer Pages даёт возможность разделить статическое
содержимое шаблона и динамическое содержимое, вставляемое в этот статический
шаблон. Это значительно упрощает создание содержимого. Это разделение
поддерживается "бобами"/beans - компонентами, разработанными специально для взаимодействия с
серверными объектами, и механизмом расширения тэгов.
Поддержка скриптинга и акций Технология JavaServer Pages поддерживает элементы скриптинга, а также
акции. Акции инкапсулируют функциональность в удобной форме, которая
может управляться утилитами.
Скрипты предоставляют механизм объединения их функциональности на
уровне страницы.
Слой доступа к
Web для архитектуры N-поточного коммерческого приложения(-й) Технология JavaServer Pages является частью Java 2 Platform
Enterprise Edition (J2EE). Платформа J2EE
привносит технологию Java в коммерческую среду. Вы можете теперь разрабатывать
мощные серверные приложения среднего слоя/middle-tier, включающие web-сайт,
использующий технологию JavaServer Pages в качестве базы для работы
компонентов Enterprise JavaBeans в среде J2EE.
JSP-страница это текстовый документ, описывающий процесс обработки запроса
для создания ответа. Шаблонные данные смешиваются с динамическими
акциями и воздвигаются на платформу Java 2
Platform.
JSP-технология поддерживает различные парадигмы авторизации
динамического содержимого.
Концепция web-приложения унаследована от спецификации Servlet.
Web-приложение может состоять из следующих частей:
Java Runtime Environment(s)/Среда(-ы) Запуска Программ Java, запущенная на
сервере (необходима);
JSP-страница(-ы), обрабатывающая запрос и генерирующая динамическое
содержимое;
Сервлет(-ы), обрабатывающий запрос и генерирующий динамическое содержимое;
Серверные компоненты JavaBeans, инкапсулирующие поведение и статус;
Статические страницы HTML, DHTML, XHTML, XML
и подобные;
Клиентские/сlient-side Аплеты Java,
компоненты JavaBeans и файлы различных Java-классов;
Среда(-ы) Запуска Программ Java, запущенная на клиенте(-ах) (загружаемая
через Plugin'ы и технологию Java Web Start).
Спецификация JavaServer Pages унаследовала от спецификации Servlet понятия web-приложений,
ServletContexts/КонтекстаСервлета, сессии, запросов и ответов. См. детали в
спецификации Java Servlet 2.3.
JSP-страницы и классы сервлетов вместе называются web-компонентами.
JSP-страницы направляются
Container\Контейнеру, который предоставляет сервис, указанный в
JSP Component Contract\Контракте Компонента.
Это отделение компонента от контейнера даёт возможность многократного
использования компонентов и возможностей, предоставляемых контейнером.
JSP-страницы являются текстуальными компонентами.
Они проходят через две фазы: фазу трансляции и фазу запроса.
Трансляция выполняется для страницы один раз. Фаза запроса выполняется один раз
на один запрос.
JSP-страница транслируется для создания класса сервлета, класса реализации JSP-страницы,
который инстанциируется во время запроса. Инстанциированный объект JSP-страницы
обрабатывает запросы и создаёт ответы.
JSP-страницы могут транслироваться до их использования, предоставляя web-приложение
с классом сервлета, которое может служить текстуальным представлением
JSP-страницы.
Трансляция может также выполняться JSP-контейнером на этапе публикации
или по запросу, когда запросы достигают неоттранслированной
JSP-страницы.
JSP.1.2.5
Роль в Платформе Java 2, Enterprise Edition
За некоторыми исключениями, интеграция
JSP-страниц на платформу J2EE 1.3 наследуется из спецификации Servlet 2.3,
поскольку трансляция превращает JSP-страницы в сервлеты.