Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.)


НазваWeb Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.)
Дата конвертації08.04.2013
Розмір445 b.
ТипПрезентации


Web MVC-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.)

  • 2009


До історії Web-розробки на Java та патерн Model-View-Controller

    • Java-сервлети — отримання HTML-коду шляхом використання println().
    • Model 1: JavaServer Pages (JSP) — змішування HTML-коду (“статика”) та Java-коду (“динаміка”).
    • Model 2: Java-сервлети + JSP — cервлети використовуються для керування потоком виконання Web-додатків, а JSP допомагають в отриманні HTML-коду.
  • Model 2 фактично відповідає патерну Model-View-Controller (MVC)

  • Model-View-Controller — це паттерн архітектурного рівня ще часів Smalltalk: об'єкти Model задають дані, об'єкти View відповідають за відображення даних, об'єкти Controller забезпечують реакцію на дії користувача щодо отримання та модифікації даних.

  • Технологія JSP є однією з тих, що найчастіше застосовуються при обран-ні варіантів View (представлень). Останнім часом набуває популярності ще одна технологія – так званий "пакет шаблонів" Jakarta Velocity.



Web MVC-проектування з Action- класами. Можна порекомендувати ...



Web MVC-проектування з Action- класами. (Основи action-oriented Frameworks на прикладі)



Web MVC-проектування з Action- класами. Web-проект Contacts.



Web-проект Contacts. Action-об'єкти



Web MVC-проектування з Action- класами. Основні засади

    • Використовується єдиний сервлет з функцією диспетчеризації.
    • Диспетчеризація полягає у передачі клієнтських запитів відповідним (згідно з “Mapping”) обробникам – примірникам Action-класів.
    • Відповідність (“Mapping”) визначається наступним правилом: усім URL-рядкам (запитам) вигляду ~~/foo_action.~~ ставиться у відповідність один тип обробника (один Action-клас). Наприклад, у наступному проекті URL-рядку http://localhost:8080/Contacts/addContactAction.do (з ключем addContactAction) буде ставитись у відповідність клас AddContactAction. Така “однойменність” “URL-ключів” та імен класів є досить зручною.


Web MVC-проектування з Action- класами. Web-проект Contacts. Ілюстрація до диспетчеризації

  • Використовується Mapping



Web-проект Contacts. Ще одна ілюстрація до диспетчеризації



Web-проект Contacts. Основні компоненти проекту:

    • клас диспетчерського сервлету;
    • інтерфейс Action. В інтерфейсі задається єдиний метод perform (конкретні реалізації цього методу в action-класах пов'язані з реальною обробкою запитів; зверніть увагу на традиційні сервлетні параметри HttpServletRequest request та HttpServletResponse response);
    • action-класи (або “обробники”), які реалізують інтерфейс Action;
    • ActionFactory — ця фабрика за іменем action-класу, яке відповідає (згідно Mapping) “ключу” URL-запита, створює екземпляр (об'єкт) такого action-класу.


Web-проект Contacts. Єдиний сервлет-диспетчер

  • Саме до нього контейнер направляє усі запити від клієнтів (зауважимо, що контейнер бере на себе задачу інкапсуляції вхідних параметрів в об'єкті HttpServletRequest та підготовці об'єкту HttpServletResponse для відповіді).

  • Головним виконуючим методом Http-сервлетів є метод service(HttpServletRequest request, HttpServletResponse response).

  • У диспетчерському сервлеті метод service забезпечує обробку кожного запиту за “стандартним” сценарієм:

    • пошук за URL-path “ключового рядка” (у проекті “Contacts” такий пошук реалізовано окремим методом getActionName сервлетного класу DispatchServlet);
    • звернення до фабрики ActionFactory, яка за ключовим рядком визначає (використовуючи Mapping) ім'я action-класу та генерує примірник такого класу – об'єкт-обробник;
    • “запуск обробника” на виконання – виклик в обробнику метода perform(request, response).


Web MVC- (Model2-) архітектурний патерн на прикладі проекту Contacts

  • dispatchServlet

  • Mapping

  • Action-класи



Action-oriented Framework

  • dispatchServlet

  • Mapping

  • Action-класи



Проект Contacts



Eclipse. Проект Contacts



Web-проект Contacts. UML Activity-діаграма (1/2)



Web-проект Contacts. UML Activity-діаграма (2/2)

  • Activity-діаграма:

  • дії на боці сервера – реакції Action-об'єктів на запити клієнта, в результаті виробляються посилання на JSP (View);

  • дії на боці клієнта спряжені з маніпулюванням управляючими елементами форми HTML-сторінки, яка генерується у відповідності до JSP (в результаті виробляються запити, які сервлет-диспетчер делегує Action-об'єктам).



Проект Contacts. Конфігураційний файл web.xml (Deployment Descriptor)



Class DispatchServlet. (1/3) Метод getActionName



Class DispatchServlet. (2/3) Метод service — метод реалізації диспетчеризації



Class DispatchServlet. (3/3) До реалізації диспетчеризації запитів

  • І останній фрагмент:

  • За допомогою метода forward сервлети можуть делегувати запити іншим Web-компонентам (з передачею об'єктів HttpServletRequest та HttpServletResponse). Загалом, метод forward дозволяє формувати ланцюжки сервлетів, де кожною ланкою можуть додаватись (чи мінятись) якісь дані, що зберігаються в об'єктах HttpServletRequest та HttpServletResponse.

  • (RequestDispatcher це інтерфейс, який містить два ключових методи: forward та include.)

  • (Є ще один метод, який дозволяє сервлетам перенаправляти запити – sendRedirect, проте він не гарантує збереження даних запиту. Іноді створюють спеціальний клас-маршрутизатор router для забезпечення обох варіантів перенаправлення, використовуючи при цьому boolean індикатор isForward).



Class ActionFactory . Метод defaultMap() та Mapping



Class ActionFactory. Метод create



JSP. Файл contactList.jsp (1/4)



JSP. Файл contactList.jsp (2/4)



JSP. Файл contactList.jsp (3/4)



JSP. Файл contactList.jsp (4/4)



Class Contact (огляд)



Class Contact (1/3)



Class Contact (2/3)



Class Contact (3/3)



class ContactService (1/3)



class ContactService (2/3)



class ContactService (3/3)



Action-класи. Class InitAction



Action-класи. Class RemoveContactAction



Action-класи. Class AddContactAction (1/2)



Action-класи. Class AddContactAction (2/2)



Схожі:

Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconWeb mvc-проектування з Action- класами. Основи (Action-oriented Web Frameworks)
Останнім часом набуває популярності ще одна технологія так званий "пакет шаблонів"
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconWeb mvc- (Model2-) проектування (Action-oriented Frameworks. Основи )
Останнім часом набуває популярності ще одна технологія так званий "пакет шаблонів"
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconВід техніки Web mvc проектування з Action-класами до Web mvc фреймворків Struts, WebWork та Spring
На "стандарті" (інваріантності) основного сценарію роботи диспетчерського сервлета при
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconВід техніки Web mvc проектування з Action-класами до Web mvc фреймворків Struts, WebWork та Spring
...
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconAction-oriented Frameworks. Основи
Останнім часом набуває популярності ще одна технологія так званий "пакет шаблонів"
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconПроект Contacts та Action-oriented Framework
На "стандарті" (інваріантності) основного сценарію роботи диспетчерського сервлета при
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconСистематизація поняття Web Мета роботи, актуальність дослідження та наукова новизна
Сучасний Web являє собою сукупність вже зовсім інших технологій (об’єднаних під спільною назвою Web 0), які до сьогодні не мають...
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconКонцепції Web 0 Поява і визначення терміну Web 0
Починаючи з 2004 р. O’Reilly Media використовує термін Web 0 для позначення веб-застосувань т з другого покоління: соціальних мереж,...
Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconWeb mvc фреймворки WebWork та Struts 2

Web Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.) iconWeb 0 Еволюція технології Web
Дані дослідження можуть бути використані як основа для створення нового стандарту Web-документів, який немає обмежень, притаманних...

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка