Сравнение преимуществ сервлетов и JSP в контексте определенной программной системы не всегда приводит к однозначному выбору. Целесообразно использовать сочетание обеих технологий для сбалансированности системы. Например, перед сервлетом можно поставить обязанности обработки запросов. Когда сервлет обработает запрос (самостоятельно или вместе с другими программными элементами, такими как компоненты EJB), он может передать результаты компонентуJSP, который выведет их для пользователя.
В литературе можно также встретить упоминания модели 1.5. Она напоминает модель 1-е той разницей, что большая часть логики выносится в компоненты JavaBeans, а не eJSP. Дополнительные источники информации можно найти в разделе "Литература " в конце книги.
Анатомия JSP
Компонент JSPсодержит две основные составляющие: данные шаблона и элементы JSP. Данные шаблона обслуживают статические аспекты, а элементы JSP используются для динамических аспектовJSP.
Данные шаблона включают статическое содержимое JSP в форме HTML или XML. Хотя они важны для представления JSP, но не представляют интереса с точки зрения программирования.
Данные шаблона выводятся как в результате обычных операций подстановки, так и "дословно", как часть ответа JSP.
Элементы JSP
Элементы JSP представляют часть компонента JSP, которая компилируется компилятором JSP в форму сервлета. По синтаксису элементы JSP похожи на элементы HTML: они имеют начальный и конечный теги (например, <В>полужирный текст</В>).
Вспецификации JSP определены элементы трех типов: элементы-директивы, элементы-действия и элементы сценария.
Элементы-директивы предоставляют глобальную информацию для этапа трансляции. Эти директивы имеют общий характер, т.е. не связаны с определенным запросом и поэтому не влияют непосредственно на вывод данных клиенту. Элементы-директивы имеют следующую форму.
<% @имя_директивы атрибут_директивы = "значение_атрибута" другие пары_атрибутов_и_значений ... %>
Пример элемента-директивы
<% include file = "Header.jsp" %>
Директива page и ее атрибуты предоставляют удобный механизм передачи в окружение различных сведений о конфигурации, например, об импортируемых библиотеках, типе содержимого страницы, размере буфера и т.д. За исключением атрибута import, другие атрибуты page могут быть определены в JSP только один раз.
В отличие от элементов-директив, элементы-действия выполняют свою функцию на этапе обработки запроса. Элементы-действия JSP записываются с использованием синтаксиса XML в одном из следующих форматов:
<префикс:тег атрибут=значение список_значений_атрибутов .../>
или
<префикс:тег aтpибут=значение список_значений_атрибутов> тело
</префикс:тег>
Суть элементов-действий в том, что с каждым тегом связывается определенный обработчик, который вызывается, когда в документе встречается этот тег. Обработчики тегов по существу представляют собой фрагменты кода, например
<jsp:forward page="/errorPage"/>
Действия с префиксом j sp являются стандартными. Некоторые стандартные действия перечислены ниже.
· Включение ответов, переданных другими компонентами JSP.
· Передача ответов другим компонентам.
· Определение и установка свойств компонента JavaBeans, находящегося на сервере.
Действия могут создавать объекты, доступные для элементов сценария через особые переменные.
Элементы сценария объединяют остальные составляющие JSP. Эти элементы могут быть объявлениями переменных и методов, блоками кода — так называемыми скриптлетами и выражениями, которые вычисляются при обработке запроса.
Объявления определяют переменные и методы. Они имеют синтаксис <% ! объявление %>, где объявление— переменная или функция, например:
<%! private static MyLoginCount=0; %>
Выражения вычисляются на этапе обработки запроса JSP, а результаты преобразуются в строку и выводятся вместе с данными шаблона. Результат выражения помещается на то место, где на странице JSP находилось выражение.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.