Глава 11Компоненты JavaServerPages
Соответствие процессу: эта глава посвящена проектированию в рамках дисциплины анализа и проектирования рационального унифицированного процесса (RUP). Также здесь рассматриваются аспекты реализации в контексте технологии JSP.
Еще несколько лет назад термин тонкий клиент никому не был известен. Все изменилось с приходом Web-броузеров и возникшей после этого модой на создание сложных Web-приложений практически в каждой отрасли.
Как известно, в тонких клиентах для представления данных используется язык разметки. Поэтому сложные серверные приложения, написанные на языках наподобие Java, генерируют документы на этом языке.
Такое смешение программных аспектов приложения с аспектами представления данных имеет следующие отрицательные стороны.
· Представление подвержено частым изменениям. Это приводит к большому объему повторного компилирования и сборки из-за обстоятельств, которые не имеют ничего общего с логикой приложения.
· Представление данных должно быть закодировано средствами языка программирования с помощью, например, таких конструкций, как println. Это означает, что структура представления будет не такой понятной, как если бы данные выводились в самой программе, и это представление нельзя будет увидеть до запуска приложения. С точки зрения разработчика сервлетов, так же трудно читать строку за строкой код HTML, заключенный в операторы println.
· В больших организациях обязанности разработчика Web-представления отличаются от обязанностей разработчика программной части. В результате Webpa3pa6om4UK должен прикладывать дополнительные усилия, чтобы вникнуть в программную сторону приложения, и уже не может использовать для разработки представления специализированные инструментальные средства.
Технология JavaServerPages (JSP) была разработана специально для решения этих проблем.
Введение в JSP
Подобно сервлетам, JSP представляет собой разновидность Web-компонентов платформы Java 2 Enterprise Edition (J2EE). Технология JSP напоминает технологию скриптов на стороне сервера, но имеется существенное различие: компоненты JSP компилируются, а скрипты интерпретируются. JSP позволяет внедрять программные элементы в документы HTML, которые затем обрабатываются Web-броузером. Для обработки на стороне сервера в JSP используется технология сервлетов Java.
Компонент JSP состоит из кода Java, внедренного в структурированный документ, такой как HTML или XML. Главная идея JSP заключается в том, чтобы использовать язык разметки для статичных частей представления и внедрять на страницу специальные теги для реализации динамического содержимого. Теги также служат для обработки поступающих от клиента запросов и генерирования ответов. Когда к JSP поступает запрос, код JSP обрабатывается на сервере, и результаты обработки вместе со статичными частями HTML передаются клиенту.
Технология JSP позволяет легко обслуживать код представления как обычный код HTML и ограждает разработчика Сети от необходимости иметь дело с незнакомым языком и инструментальными средствами.
Можно возразить, что код Java все равно внедрен в JSP, и поэтому представление и логика приложения на самом деле не разделяются. Однако попробуем взглянуть с точки зрения разработчика. В сервлетах с представлением неминуемо приходится работать в рамках программирования, тогда как компоненты JSP ориентированы прежде всего на представление, а программные части для управления динамическими аспектами только внедряются в это представление.
Типичные области использования JSP
Спецификация JSP дает этим компонентам такие же возможности, как и сервлетам, и поэтому потенциально возможно создать неуклюжий, но формально правильный компонент JSP, который будет содержать весь код, обычно помещаемый в сервлет. Точно так же можно полностью игнорировать технологию JSP и использовать исключительно сервлеты.
Наиболее эффективным будет сочетание этих двух технологий. Целесообразно применять JSP для задач представления данных и использовать сервлеты там, где на первое место выходит логика. Компоненты JSP идеально подходят для тех ситуаций, где требуется выдавать клиенту динамическое содержимое. Вообще, компоненты JSP должны заниматься прежде всего представлением, и любой код Java в составе JSP должен служить в первую очередь для связи с сервлетами и/или другими объектами управления или объектами данных.
Компоненты JSP потребляют дополнительные системные ресурсы (например, требуют компилирования), поэтому их не следует применять там, где содержимое представления статично. В таких случаях достаточно простой страницы HTML.
В начале истории JSP среди разработчиков были особенно популярны две архитектуры, обычно называемые модель 1 и модель 2. Сейчас в большинстве проектов применяется модель 2, однако еще можно найти некоторые простые ситуации, где модель 1 имеет свои преимущества.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.