Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби


НазваWeb-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби
Дата конвертації09.04.2013
Розмір445 b.
ТипСценарій


Web-технології Java Servlet та JSP

  • 2009


Платформа J2EE. Механізми та служби

  • Взаємодія з клієнтом:

    • JSP (Java Server Pages).
    • Java сервлети.
    • Web-служби.
  • Бізнес-логіка:

    • Enterprise Java Beans (EJB).
  • (Специфікація EJB є серцевиною платформи J2EE).



Основні засади Web-технологій

  • Загалом, Web-технології ґрунтуються на наступних засадах:

    • для відображення роботи з інтерактивними Web-сайтами використовується браузер.
    • має підтримуватись наступний процес: Web-сервер приймає запит, забезпечує його обробку (можливо, звертаючись до інших програм чи навіть до інших серверів) та повертає результат для відображення в браузері. У контексті сесії (сеансу) обробка пов'язується із серією запитів-відповідей при підтримці стану сесії.


Сценарій використання сервлетів як Web-технології

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


Використання сервлетів як Web-технології. Методи життєвого циклу сервлетів

  • Діаграма життєвого циклу сервлету



До практичного використання сервлетів

  • Виклики (у визначеному порядку!) методів життєвого циклу сервлетів здійснюються контейнером (контейнерне управління).

  • На програміста покладається задача коректного налаштування сервлета (у конфігураційному файлі web-проекту – файлі web.xml з каталогу WEB-INF ).

  • Для власне виконання проектів із сервлетами потрібно:

    • забезпечити розгортання проекту і запуск сервера. Наприклад, у випадку Tomcat проект треба розмістити у його (Tomcat ) підкаталозі webapps; після чого Tomcat має запускатись;
    • на боці клієнта у Web-браузері ввести необхідний URL, наприклад:
      • http://host:8080/test/index.htm
      • http://localhost:8080/test/index.htm
    • (8080 – порт, що використовує Tomcat; test – ім'я проекту).


Розробка java-класів сервлетів

  • Успадкування від одного з двох Java-класів :

    • GenericServlet (підтримка універсальних сервлетів);
    • HttpServlet (підтримка Http-сервлетів; цей клас, зокрема, містить додаткові методи doGet, doPost, doPut тощо для обробки Http-запитів Get, Post, Put тощо).


Деякі переваги Web-технології сервлетів:

    • незалежність від платформи (бо в основі Java-код);
    • повний доступ до всіх API Java, включаючи API доступу до БД, зокрема, JDBC;
    • наявність потужної промислово-інструментальної підтримки технології сервлетів, зокрема, наявність контейнерів сервлетів у найбільш розповсюджених Web-серверах чи серверах додатків.


Деякі варіанти реалізації сервлетів. Концепція Model 2

  • Деякі варіанти реалізації сервлетів:

    • на кожний тип запиту – окремий сервлет (результат – бурхливе зростання кількості сервлетів на сервері);
    • сервлети з умовною (if) логікою (результат – погіршилась якість коду, оскільки втрачались риси об'єктного підходу);
    • сервлети дії (action servlet) або концепція Model 2: у проекті використовується єдиний сервлет ("диспетчер") (без умовної логіки!) , який передає повноваження для обробки запитів об'єктам різноманітних action-класів. Ще одна назва останньої концепції поряд з action servletaction framework. Зауважимо також, що ця концепція використовується, зокрема, в інструментальних проектах (фреймворках) Jakarta Struts та Spring.




Tomcat Project “Hi_http”



class HiServlet



Реалізація (тіло) метода service (class HiServlet)



Tomcat Project “Hi_http”. Файл web.xml (дескрипторний файл web-проектів)



Web-технологія JSP. Коротко

    • JSP-технологія дозволяє змішувати HTML і Java-код, а отже можна створювати динамічні Web-сторінки.
    • Контейнером (наприклад, Tomcat) JSP-сторінки компілюються у Java-код – сервлети.


Основи мови JSP. Елементи JSP. Заздалегідь визначені змінні

  • Елементи JSP:

    • директиви: include, page, taglib;
    • елементи скриптів (у них міститься java-код, який вставлятиметься у сервлет, створюваний з JSP-сторінки): декларації, вирази, скриптлети;
    • дії: jsp:useBean, jsp:getProperty, jsp:setProperty, jsp:forward, jsp:include, jsp:plugin.
  • Заздалегідь визначені змінні (вони створюються контейнером та можуть істотно полегшувати розробку проектів): request, response, out, session, application, config, pageContext, page.



Основні підходи до реалізації Web-проектів на основі JSP

  • 1. Створення проекту як набору HTML-дескрипторів і JSP-скриптлетів.

    • Іноді, особливо для великих проектів, важко у таких сторінках відокремити бізнес-логіку від “візуальної логіки” (представлення – View), а отже суттєво ускладнюється супровід та можлива модифікація проекту.
  • 2. Делегування функцій компонентам bean (на основі використання тегу jsp:useBean). (Архітектура Model 1.)

    • Значна частина Java-коду переміщується з JSP-документів у компоненти bean , тому проекти, створені за таким принципом, стають більш життєздатними.
    • Компоненти bean виступають посередниками у взаємодії JSP з бізнес-об'єктами, а отже зміни в останніх менше впливають на сторінки JSP.
    • Усе ж файли JSP не тільки представляють уміст web-сторінок (View), але, як і раніше, відповідають за їх динамічну генерацію – залишається формула JSP = представлення (View) + логіка. (Не завжди можна відокремити задачі для дизайнера від задач для програміста).


Model 1 або MVC1 (JSP-centric Architecture)



Основні підходи до реалізації Web-проектів на основі JSP (продовження)

  • 3. Використання сервлетів, JSP і компонентів bean для реалізації архітектури "модель- представлення-контролер" (MVCModel -View -Controller). (Архітектура Model 2.)

    • Відповідальність за логіку передається сервлету, сервлет виступає у ролі контролера – на нього покладається обробка запитів. Бізнес-об'єкти виступають в якості моделі (вони надають дані), a JSP відповідає за представлення. Роль бінів тільки посилюється. Вони не тільки опосередковують зв'язок з бізнес-об'єктами, але й спрощують взаємодію сервлетів з JSP, відіграючи роль “пошти”: контролер заповнює компонент JavaBean даними, а компонент JSP “забирає” їх та генерує на їх основі web-сторінку.
  • Зауваження. Іноді стосовно наведених трьох підходів використовуються терміни Model 1, Model 1.5, Model 2.



Model 2 або MVC2 (Servlet-centric architecture)



Приклад: Project “jspHi”



Приклад: Project “jspHi” . Файл hi.jsp



Більш складний приклад jsp-файлу: contactList.jsp (фрагмент) з проекту Contacts



Ілюстрація до JSP (1/2)





До історії 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.



Створення та використання “власних” дескрипторів JSP

  • Створити бібліотеку дескрипторів — TLD-файл (tag library descriptor) з власним дескриптором.

  • Реалізувати клас підтримки дескриптора (простіше за все шляхом успадкування від класу TagSupport, перевизначаючи методи doStartTag і doEndTag). (Методи doStartTag та doEndTag викликаються контейнером сервлетів відповідно при зустрічі відкриваючого та закриваючого тегів.

  • У JSP-файл додати відповідну директиву taglib. Після чого у такому файлі можна використовувати визначений власний дескриптор.



Створення та використання дескрипторів . Приклад: дескриптор для підрахунку кількості звертань до JSP



Приклад використання дескриптора count. Файли testcounter.jsp, web.xml



CounterTag.java (1/3)



CounterTag.java (2/3)



CounterTag.java (3/3)



Приклад: кількість звертань до сторінки



HTML-форми (1/2)

  • У web-додатках HTML-форми виступають аналогом інтерфейсних форм (діалогових вікон) для звичайних програмах.

  • Для збереження значень форм використовується дія jsp:useBean (дані зберігаються бінами). (Використання компонентів bean для збереження стану— один з основних способів підтримки форм).

  • Коли користувач активізує форму (шляхом натискання кнопки submit), браузер передає рядок параметрів ресурсу, URL якого задається атрибутом action форми (якщо атрибут action відсутній, повторно завантажується та сама web-сторінка.) У рядку параметрів містяться імена і значення: "name=Хома&addr=Хотів".



HTML-форми (2/2)

  • У сервлетах і JSP-сторінках для доступу до даних форми використовується об'єкт request: < %= request.getParameter("name") %>

  • Дані форми можна зберегти у відповідному bean:

    • 1)
    • 2) (Properties встановлюються за однойменними параметрами запиту.)


Схожі:

Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconWeb-технології Java Servlet та jsp 2007-2009 Платформа J2EE. Механізми та служби
Згідно з даними у конфігурацій-ному файлі (на сервері) за url визначається відповідний сервлет (його керуванням опікується серверний...
Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconWeb-технології Java Servlet та jsp 2008 Основні засади Web-технологій
Згідно з даними у конфігурацій-ному файлі (на сервері) за url визначається відповідний сервлет (його керуванням опікується серверний...
Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconПлатформа J2ee 2007 Зміст

Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconWeb 0 Еволюція технології Web
Дані дослідження можуть бути використані як основа для створення нового стандарту Web-документів, який немає обмежень, притаманних...
Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconВеб-служби (Java) 2012

Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconВеб-служби (Java) 2012

Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconWeb 0 Еволюція технології Web, розробка нових стандартів
Дані дослідження можуть бути використані як основа для створення нового стандарту Web-документів, який немає обмежень, притаманних...
Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби icon9 клас немає 9 клас немає
Команда у складі 3-х учнів, які готуються у різних номінаціях: ms office-технології, технології програмування, Web-технології
Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconТехнологія Java Server Faces (jsf) 2008-2009 Технологія Java Server Faces. Концепції

Web-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби iconТехнологія Java Server Faces (jsf) 2009 Технологія Java Server Faces. Концепції


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


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