Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій


НазваWeb-технології Java Servlet та jsp 2008 Основні засади Web-технологій
Дата конвертації09.04.2013
Розмір445 b.
ТипСценарій


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

  • 2008


Основні засади 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) + логіка. (Не завжди можна відокремити задачі для дизайнера від задач для програміста).


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.



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 2008 Основні засади Web-технологій iconWeb-технології Java Servlet та jsp 2009 Платформа J2EE. Механізми та служби
Згідно з даними у конфігурацій-ному файлі (на сервері) за url визначається відповідний сервлет (його керуванням опікується серверний...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconWeb-технології Java Servlet та jsp 2007-2009 Платформа J2EE. Механізми та служби
Згідно з даними у конфігурацій-ному файлі (на сервері) за url визначається відповідний сервлет (його керуванням опікується серверний...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconСистематизація поняття Web Мета роботи, актуальність дослідження та наукова новизна
Сучасний Web являє собою сукупність вже зовсім інших технологій (об’єднаних під спільною назвою Web 0), які до сьогодні не мають...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconWeb 0 Еволюція технології Web
Дані дослідження можуть бути використані як основа для створення нового стандарту Web-документів, який немає обмежень, притаманних...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconWeb 0 Еволюція технології Web, розробка нових стандартів
Дані дослідження можуть бути використані як основа для створення нового стандарту Web-документів, який немає обмежень, притаманних...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconКонцепції Web 0 Поява і визначення терміну Web 0
Починаючи з 2004 р. O’Reilly Media використовує термін Web 0 для позначення веб-застосувань т з другого покоління: соціальних мереж,...
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconАутентифікація та авторизація в web-порталах Доповідач: Коляденко Андрій
Аутентифікація співставлення користувача з деякою внутрішньою сутністю web-порталу
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій icon9 клас немає 9 клас немає
Команда у складі 3-х учнів, які готуються у різних номінаціях: ms office-технології, технології програмування, Web-технології
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconWeb Mvc-проектування з Action- класами. (Action-oriented Web Frameworks. Основи.)
Останнім часом набуває популярності ще одна технологія так званий "пакет шаблонів"
Web-технології Java Servlet та jsp 2008 Основні засади Web-технологій iconWeb mvc-проектування з Action- класами. Основи (Action-oriented Web Frameworks)
Останнім часом набуває популярності ще одна технологія так званий "пакет шаблонів"

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


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