Saint Petersburg, 2012 Java Lecture 11 Web/Servlets.

Презентация:



Advertisements
Похожие презентации
Уровень представления Протокол HTTP, веб-приложение, сервлеты,сеансы.
Advertisements

Saint Petersburg, 2012 Java Lecture 12 JSTL. JSP -> JSTL JSP – хорошо Что делать если хотим добавить условие? Итерирование по списку и вывод каждого элемента.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)

1 Java J2EE. Servlet Технологии. 2 Сервлеты Сервлеты – это компоненты приложений Java Enterprise Edition, выполняющиеся на стороне сервера, способные.
Типовые расчёты Растворы
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Michael Jackson
Рогов Павел (271 ПИ ) Назаренко Дмитрий (272 ПИ ) Научный руководитель : Гринкруг Е. М. Курсовая работа. Клиент - серверное Android- приложение для планирования.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Java Server Pages (JSP). JSP Позволяет веб разработчикам динамически генерировать HTML, XML - и другие веб страницы. Страницы компилируются JSP- компилятором.
Тренировочное тестирование-2008 Ответы к заданиям КИМ Часть I.
Язык Java. JSP.. Java. Синтаксис. Перевод строчки эквивалентен пробелу Регистр в именах различается // Комментарии до конца строки /* Многострочные комментарии.
Маршрутный лист «Числа до 100» ? ? ?

Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
«Весна» Презентация для детей Выполнила: воспитатель мл.гр. Протасова О.Г. МКДОУ-детский сад «Лужок» 2014г. 1.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Программирование на стороне сервера.
Транксрипт:

Saint Petersburg, 2012 Java Lecture 11 Web/Servlets

History HTTP был предложен в марте 1991 года Тимом Бернерсом-Ли, как механизм для доступа к документам в Интернете и облегчения навигации посредством использования гипертекста. Самая ранняя версия протокола HTTP/0.9 была впервые опубликована в январе 1992 г. (хотя реализация датируется 1990 годом). Спецификация протокола привела к упорядочению правил взаимодействия между клиентами и серверами HTTP, а также чёткому разделению функций между этими двумя компонентами. Были задокументированы основные синтаксические и семантические положения.1991 годаТимом Бернерсом-ЛиИнтернетегипертекста годомсинтаксическиесемантические 2

HTTP 3 HTTP протокол прикладного уровня передачи данных. Основой HTTP является технология «клиент-сервер». Протокол без поддержки состояния. Заголовок запроса: Заголовок ответа:

Web Server 4

Web Client 5

Request 6

Response 7

HTTP Methods 8

Red or Blue pill POST GETA user is returning a login name and password POST GETA user is requesting a new page via a hyperlink POST GETA chat room user is sending a written response POST GETA user hits the 'next' button to see the next page POST GETA user hits the 'log out' button on a secure banking site POST GETA user hits the 'back' button on the browser POST GETA user sends a name and address form to the server 9

Go ahead… 10

Dynamic generation of web-pages 11

Servlet Java-программа, выполняющейся на стороне сервера и расширяющей функциональные возможности сервера Взаимодействует с клиентами посредством принципа запрос-ответ Реализует Servlet интерфейс, который определяет методы жизненного цикла Пакеты javax.servlet и javax.servlet.http обеспечивают интерфейсы и классы для создания сервлетов. 12

Servlet example 13

MVC Model: представляет данные для View, реагирует на запросы от Controller, изменяя свое состояние View: отвечает за отображение информации Controller: интерпретирует данные, введенные пользователем, информирует Model и View об изменениях 14

Web Container Серверная программа расширяющая возможности WEB-контейнера Обеспечивает жизненный цикл сервлетов в соответствии с правилами, определёнными в спецификациях При получении WEB-контейнером запроса для сервлета, он загружает его в JVM (если он еще не загружен) и выполняет его 15

Servlets Lifecycle 16

Servlets work 17

Servlets tasks Установить MIME type (text/html, audio/wav). setContentType(String) Установить поля заголовка. setHeader(String, String) Получить PrintWriter или ServletOutputStream. getWriter() getOutputStream() Перенаправление запроса 18

Dispatching Request Dispatcher: 19 Redirect

Servlets parameter [1] 20

Servlets parameter [2] 21

Web-Project Structure 22

Web-Project Structure on Tomcat Server 23

DD 24

Servlets and Applications Parameters 25

Parameters Hierarchy 26

Data Storage 27

API for attributes Для этих целей используются объекты: context, request и session реализующие соответственно интерфейсы ServletContext, ServletRequest и HttpSession Все они имеют следующие методы: Object getAttribute(String name) void setAttribute(String name, Object value) void removeAttribute(String name) Enumeration getAttributeNames() 28

Listener Обеспечивают возможность выполнить некоторые действия в ответ на определенные события - такие, как запуск и остановка WEB-приложения или создание новой сессии Java класс реализующий определенный интерфейс. Интерфейс сообщает контейнеру обработчиком какого события класс является. 29

ServletContextListener [1] Класс реализующий интерфейс ServletContextListener является обработчиком событий создания и уничтожения контекста приложения public void contextInitialized(ServletContextEvent) вызывается, когда веб-приложение готово к обработке public void contextDestroyed(ServletContextEvent) вызывается, когда веб-приложени готовится к закрытию 30

ServletContextListener [2] 31

ServletContextListener [3] 32

Hometask ServletFilter? FrontController? 33

References Head First: Servlets & JSP (2 nd edition). OReilly