Jump to content

Архитектура JSP модели 2

Схема реализации Модели 2.
Упрощенная схема паттерна Модель 2.

JSP Model 2 — это сложный шаблон проектирования , используемый при разработке Java веб-приложений , который отделяет отображение контента от логики, используемой для получения контента и управления им. Поскольку Модель 2 обеспечивает разделение логики и отображения, ее обычно связывают с парадигмой модель-представление-контроллер (MVC). Хотя точная форма «Модели» MVC никогда не была указана в проекте Модели 2, в ряде публикаций рекомендуется использовать формализованный уровень для хранения кода модели MVC. EJB для Например, в Java BluePrints изначально рекомендовалось использовать инкапсуляции модели MVC.

В приложении Модели 2 запросы от клиентского браузера передаются контроллеру . Контроллер выполняет всю логику, необходимую для получения правильного контента для отображения. Затем он помещает содержимое в запрос (обычно в форме JavaBean или POJO ) и решает, какому представлению будет передан запрос. Затем представление отображает содержимое, переданное контроллером.

Модель 2 рекомендуется для приложений среднего и большого размера.

В 1998 году Sun Microsystems опубликовала предварительную версию спецификации JavaServer Pages версии 0.92. [1] В этой спецификации Sun изложила два метода использования страниц JSP. Первая модель (называемая « моделью 1 » из-за ее порядка в документе) представляла собой упрощенную модель, в которой страницы JSP представляли собой автономные, несвязанные объекты. Логика могла содержаться внутри самой страницы, а навигация между страницами обычно осуществлялась с помощью гиперссылок. Это соответствовало распространенному в то время использованию технологии шаблонов.

ColdFusion и Active Server Pages являются примерами современных технологий, в которых также реализована эта модель.

Вторая модель, упомянутая в документе («модель 2» в заказе), представляла собой улучшенный метод, сочетающий сервлетов технологию с технологией JSP. Конкретное отличие заключалось в том, что сервлет перехватывал запрос, помещал содержимое для отображения в атрибут запроса (обычно представленный JavaBean), а затем вызывал JSP для отображения содержимого в желаемом выходном формате. Эта модель отличалась от предыдущей модели тем, что в качестве чистого шаблонизатора использовалась технология JSP. Вся логика была выделена в сервлет, оставив JSP единоличную ответственность за обработку вывода предоставленного контента.

В декабре 1999 года журнал JavaWorld опубликовал статью Говинда Сешадри под названием « Понимание архитектуры JavaServer Pages Model 2» . [2] В этой статье Говинд совершил две важные вехи в использовании термина «Модель 2». Первой вехой стало официальное оформление термина «Модель 2» как архитектурного образца, а не как одного из двух возможных вариантов. Второй вехой стало заявление о том, что Модель 2 обеспечивает архитектуру MVC для веб-программного обеспечения. [3]

Говинд считал, что, поскольку архитектура «Модели 2» отделила логику от JSP и поместила ее в сервлет, эти две части можно рассматривать как «Представление» и «Контроллер» (соответственно) в архитектуре MVC. Часть архитектуры MVC «Модель» Говинд оставил открытой, предположив, что практически любая структура данных может соответствовать требованиям. Конкретным примером, использованным в статье, был список векторов , хранящийся в сеансе пользователя.

В марте 2000 года Apache Struts был выпущен проект . Этот проект формализовал разделение между представлением и контроллером и заявил о реализации шаблона «Модель 2». [3] И снова реализация «Модели» осталась неопределенной в расчете на то, что разработчики программного обеспечения внесут соответствующее решение. Взаимодействие с базой данных через JDBC и EJB — это варианты, предложенные на домашней странице Struts. Совсем недавно Hibernate , iBatis и Object Relational Bridge были перечислены как более современные варианты, которые можно использовать для модели. [4]

С момента выпуска Struts появился ряд конкурирующих фреймворков. Многие из этих фреймворков также утверждают, что реализуют «Модель 2» и «MVC». В результате эти два термина стали в сознании разработчиков синонимами. Это привело к использованию термина «MVC Model 2» или для краткости «MVC2».

Заблуждения

[ редактировать ]

Распространенным заблуждением является то, что для реализации Модели 2 необходим формализованный шаблон MVC. Однако Java BluePrints специально предостерегает от такой интерпретации: [5]

В литературе по технологии веб-уровня на платформе J2EE часто используются термины «Модель 1» и «Модель 2» без объяснения причин. Эта терминология взята из ранних проектов спецификации JSP, в которых описывались два основных шаблона использования страниц JSP. Хотя эти термины исчезли из спецификации, они продолжают широко использоваться. Модель 1 и Модель 2 просто относятся к отсутствию или присутствию (соответственно) сервлета-контроллера, который отправляет запросы с клиентского уровня и выбирает представления.

Более того, термин «MVC2» привел многих к ошибочному мнению, что Модель 2 представляет собой шаблон MVC следующего поколения. Фактически, MVC2 — это просто сокращение термина «Модель MVC 2». [6]

Путаница с термином «MVC2» привела к дополнительной путанице в отношении кода Модели 1, что привело к повсеместному использованию несуществующего термина «MVC1».

См. также

[ редактировать ]
  • Apache Struts — это платформа с открытым исходным кодом для реализации веб-приложений на основе архитектуры Model 2.
  1. ^ Спецификация JSP 0.92
  2. ^ Сешадри, Говинд (29 декабря 1999 г.). «Понимание архитектуры JavaServer Pages Model 2» . JavaWorld . Проверено 17 июля 2020 г.
  3. ^ Jump up to: а б Как Struts реализует модель 2 (истоки модели 1/модели 2)
  4. ^ «Домашняя страница Struts 1.x» . Архивировано из оригинала 23 сентября 2010 г. Проверено 5 октября 2010 г.
  5. ^ Java BluePrints 4.4.1: Структурирование веб-уровня
  6. ^ Struts, реализация MVC с открытым исходным кодом.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3f6c33d70473a0b13a068f5ab340d0f1__1612161480
URL1:https://arc.ask3.ru/arc/aa/3f/f1/3f6c33d70473a0b13a068f5ab340d0f1.html
Заголовок, (Title) документа по адресу, URL1:
JSP model 2 architecture - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)