Содержание
- 2. 2011 © EPAM Systems, RD Dep. Содержание Основы протокола HTTP Платформа J2EE Структура web-приложения Сервлет. Request.
- 3. ОСНОВЫ ПРОТОКОЛА HTTP 2011 © EPAM Systems, RD Dep.
- 4. Основы протокола HTTP HTTP - Hyper Text Transfer Protocol Определяет передачу данных во время жизненного цикла
- 5. Основы протокола HTTP Структура HTTP-запроса HTTP-запрос состоит из заголовка запроса и тела запроса, разделенных пустой строкой.
- 6. Основы протокола HTTP Запрос в главной строке состоит из трех частей, разделенных пробелами: Метод (иначе говоря,
- 7. Основы протокола HTTP Ресурс – это путь к определенному файлу на сервере, который клиент хочет получить
- 8. Основы протокола HTTP Версия протокола – версия протокола HTTP, с которой работает клиентская программа. Таким образом,
- 9. Основы протокола HTTP Строки после главной строки запроса имеют следующий формат: параметр:значениe Таким образом задаются параметры
- 10. Основы протокола HTTP Некоторые наиболее употребительные параметры HTTP-запроса: Connection (соединение) – может принимать значения Keep-Alive и
- 11. Основы протокола HTTP User-Agent - значением является "кодовое обозначение" браузера, например: Mozilla/4.0 (compatible; MSIE 5.0; Windows
- 12. Основы протокола HTTP Referer - URL, с которого перешли на этот ресурс. Host - имя хоста,
- 13. Основы протокола HTTP 2011 © EPAM Systems, RD Dep.
- 14. ПЛАТФОРМА J2EE 2011 © EPAM Systems, RD Dep.
- 15. Платформа J2EE Java 2 Platform, Enterprise Edition (J2EE) определяет стандарт для разработки многоуровневых корпоративных приложений. Java
- 16. Платформа J2EE J2EE - это не конкретный продукт, а набор спецификаций, устанавливающих правила, которых следует придерживаться
- 17. Платформа J2EE Технологии J2EE ориентированы на разработку серверной стороны приложения и облегчают, в первую очередь, процесс
- 18. Платформа J2EE Стандартный Java EE сервер приложений должен поддерживать такие технологии как EJB (сервер и контейнер),
- 19. Платформа J2EE Java EE также предоставляет стандартную архитектуру для взаимодействия Java EE приложений и серверов приложений
- 20. Платформа J2EE 2011 © EPAM Systems, RD Dep. Сервис: Java Naming Directory (JNDI) – универсальный сервис
- 21. Платформа J2EE Платформа J2EE использует модель многоуровневого распределенного приложения. Логически приложение разделено на компоненты в соответствии
- 22. Платформа J2EE Приложение Java EE может состоять из нескольких компонентов, таких как, например, EJB, веб-модули, адаптеры
- 23. Платформа J2EE JAR файл может содержать Java классы, XML файлы, вспомогательные ресурсы, статические HTML файлы и
- 24. Платформа J2EE WAR файл - это специализированный JAR файл, содержащий такие компоненты веб-приложения как сервлеты, JSP
- 25. Платформа J2EE EAR файл – это специализированный JAR файл, содержащий компоненты Java EE приложения, такие как
- 26. СТРУКТУРА WEB-ПРИЛОЖЕНИЯ 2011 © EPAM Systems, RD Dep.
- 27. Структура web-приложения Компоненты типичного Java EE приложения 2011 © EPAM Systems, RD Dep.
- 28. Структура web-приложения Традиционно, корпоративное Java EE приложение определяется как набор следующих компонентов и технологий: EAR файлы
- 29. Структура web-приложения В свою очередь, веб-приложение Java объединяет подмножество компонентов и технологий корпоративного приложения, таких как:
- 30. Структура web-приложения В типичном Java EE веб-приложении HTML клиент отправляет запрос серверу, где этот запрос обрабатывается
- 31. Структура web-приложения Как только сервлет получает начальный запрос, инициируется выполнение определенной бизнес логики для завершения запроса.
- 32. Структура web-приложения Некоторым бизнес сервисам или компонентам требуется доступ к хранилищам данных или информационным системам. Как
- 33. Структура web-приложения Когда обработка запроса на сервере завершена, HTML клиенту возвращается ответ в определенном формате. Этот
- 34. Структура web-приложения Структура J2EE Web-приложения 2011 © EPAM Systems, RD Dep.
- 35. Структура web-приложения Web-приложение должно включать: Основную (базовую)директорию [имя директории является именем приложения] WEB-INF директорию web.xml файл
- 36. Структура web-приложения Базовая структура веб-приложения должна включать корневую директорию, WEB-INF директорию и дескриптор развертывания web.xml. Название
- 37. Структура web-приложения Web.xml конфигурационный файл используется для: Объявление классов servlet и JSPs Отображения servlets и JSPs
- 38. Структура web-приложения Любой класс, который загружен и выполнен в веб-контейнерах, должен быть расположен в WEB-INF\CLASSES. Это
- 39. Структура web-приложения Другие файлы как JSPs и статическое содержание могут быть расположены где угодно в соответствии
- 40. Структура web-приложения Jars и другие java классы, используемые в приложении, могут быть помещены куда угодно в
- 41. СЕРВЛЕТ. REQUEST. RESPONSE 2011 © EPAM Systems, RD Dep.
- 42. Сервлет. Request. Response Сервлеты – это компоненты приложений Java Enterprise Edition, выполняющиеся на стороне сервера, способные
- 43. Сервлет. Request. Response Пакет javax.servlet обеспечивает интерфейсы и классы для написания сервлетов. Центральной абстракцией API сервлета
- 44. Сервлет. Request. Response Servlets API 2011 © EPAM Systems, RD Dep.
- 45. Сервлет. Request. Response Принимая запрос от клиента, сервлет получает два объекта: ServletRequest, который инкапсулирует связь клиента
- 46. Сервлет. Request. Response Интерфейс ServletRequest дает сервлету доступ к: Информации, такой, как имена параметров, переданных клиентом,
- 47. Сервлет. Request. Response Интерфейс ServletResponse дает сервлету методы для ответа на запросы клиента. Он: Позволяет сервлету
- 48. Сервлет. Request. Response HttpServlet - запросы и ответы Методы класса HttpServlet, которые управляют клиентскими запросами принимают
- 49. Сервлет. Request. Response Объект HttpServletRequest Объекты HttpServletRequest предоставляют доступ к данным HTTP заголовка и позволяют получить
- 50. Сервлет. Request. Response Enumeration getParameterNames() - предоставляет имена параметров. String getQueryString() - возвращает строковую (String) величину
- 51. Сервлет. Request. Response Объект HttpServletResponse Объект HttpServletResponse обеспечивает два способа возвращения данных пользователю: Метод getWriter возвращает
- 52. Сервлет. Request. Response Интерфейс HttpServletResponse void sendError(int sc, String msg) – сообщение о возникших ошибках, где
- 53. Сервлет. Request. Response Данные HTTP заголовка Прежде чем получить доступ к объектам Writer или OutputStream необходимо
- 54. Сервлет. Request. Response. Example 01 2011 © EPAM Systems, RD Dep. package _java._ee._01.firstservlet; import java.io.IOException; import
- 55. Сервлет. Request. Response. Example 01 2011 © EPAM Systems, RD Dep. response.setContentType("text/html"); out.println(" "); out.println(title); out.println("
- 56. Сервлет. Request. Response Сервлет расширяет класс HttpServlet и переопределяет метод doGet. Чтобы ответить клиенту, метод doGet
- 57. Сервлет. Request. Response Для того, чтобы сервлет работал на сервере, необходимо подготовить файл описания сервлета (XML-файл).
- 58. Сервлет. Request. Response - блок, описывающий соответсвие url и запускаемого сервлета - имя сервлета - описывает
- 59. Сервлет. Request. Response - блок, описывающий имена файлов, которые будут пытаться открыться при запросе только по
- 60. Сервлет. Request. Response. Example 01 web.xml 2011 © EPAM Systems, RD Dep. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- 61. Сервлет. Request. Response Запуск контейнера сервлетов и размещение проекта Действия по запуску сервлета с помощью контейнера
- 62. Сервлет. Request. Response Web-приложение поставляется в виде архива .war, содержащего все его файлы. На самом деле
- 63. Сервлет. Request. Response Директория WEB-INF содержит две поддиректории — /classes для .class-файлов сервлетов, классов и интерфейсов
- 64. Сервлет. Request. Response. Example 01 2011 © EPAM Systems, RD Dep.
- 65. Сервлет. Request. Response Если вызывать сервлет из index.jsp, то тег FORM должен выглядеть следующим образом: Файл
- 66. MVC 2011 © EPAM Systems, RD Dep.
- 67. MVC 2011 © EPAM Systems, RD Dep. Model Модель отображаемых данных Controller Контроллер запроса пользователя View
- 68. MVC 2011 © EPAM Systems, RD Dep.
- 69. MVC 2011 © EPAM Systems, RD Dep.
- 70. JSP (START) 2011 © EPAM Systems, RD Dep.
- 71. JSP (start) Java Server Pages (JSP) обеспечивает разделение динамической и статической частей страницы, результатом чего является
- 72. JSP (start) simple.jsp 2011 © EPAM Systems, RD Dep. pageEncoding="utf-8"%> Simple Hello, Bender
- 73. JSP (start) 2011 © EPAM Systems, RD Dep.
- 74. JSP (start) Код сервлета, полученный после компиляции simple.jsp 2011 © EPAM Systems, RD Dep. public final
- 75. ЖИЗНЕННЫЙ ЦИКЛ СЕРВЛЕТА И JSP 2011 © EPAM Systems, RD Dep.
- 76. Жизненный цикл сервлета и JSP В обязанности веб контейнера входит управление жизненным циклом сервлета. Веб контейнер
- 77. Жизненный цикл сервлета и JSP Процессы, выполняемые с файлом JSP при первом вызове: Браузер делает запрос
- 78. Жизненный цикл сервлета и JSP 2011 © EPAM Systems, RD Dep. 1. Жизненный цикл класса страницы
- 79. ВЗАИМОДЕЙСТВИЕ СЕРВЛЕТА И JSP 2011 © EPAM Systems, RD Dep.
- 80. Взаимодействие сервлета и JSP Страницы JSP и сервлеты никогда не используются в информационных системах друг без
- 81. Взаимодействие сервлета и JSP 2011 © EPAM Systems, RD Dep.
- 82. Взаимодействие сервлета и JSP. Example 02 Параметры клиента передаются в сервлет как параметры запроса. index.jsp 2011
- 83. Взаимодействие сервлета и JSP. Example 02 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; import java.io.IOException;
- 84. Взаимодействие сервлета и JSP. Example 02 jsp/main.jsp 2011 © EPAM Systems, RD Dep. pageEncoding="utf-8"%> Insert title
- 85. Взаимодействие сервлета и JSP. Example 02 2011 © EPAM Systems, RD Dep.
- 86. Взаимодействие сервлета и JSP Передачу информации между JSP и сервлетом можно осуществлять, в частности, с помощью
- 87. Взаимодействие сервлета и JSP URL ресурса должен быть доступным на сервере, на котором запущен сервлет в
- 88. Взаимодействие сервлета и JSP Обладая объектом RequestDispatcher, Вы можете дать возможность ассоциированному с ним ресурсу отвечать
- 89. Взаимодействие сервлета и JSP void forward (ServletRequest request, ServletResponse response) должен быть использован тогда, когда необходимо
- 90. Взаимодействие сервлета и JSP. Example 03 Метод void include(ServletRequest request, ServletResponse response) интерфейса RequestDispatcher позволяет вызываемому
- 91. Взаимодействие сервлета и JSP. Example 03 2011 © EPAM Systems, RD Dep.
- 92. Взаимодействие сервлета и JSP Вызов сервлетов из сервлетов Чтобы Ваш сервлет вызвал другой сервлет, Вы можете:
- 93. Взаимодействие сервлета и JSP Надо: Знать имя сервлета, метод которого Вы хотите вызвать. Получить доступ к
- 94. Взаимодействие сервлета и JSP Потоковый вывод Сервлеты HTTP, как правило, поддерживают обработку нескольких клиентов одновременно. Если
- 95. СЕССИИ 2011 © EPAM Systems, RD Dep.
- 96. Сессии Отслеживание сессии Для поддержки статуса между сериями запросов от одного и того же пользователя используется
- 97. Сессии Получение сессии HttpSession getSession(bool) объекта HttpServletRequest возвращает сессию пользователя. Когда метод вызывается со значением true,
- 98. Сессии Сохранение и получение данных сессии Интерфейс HttpSession предоставляет методы, которые сохраняют и возвращают данные: Стандартные
- 99. Сессии Чтобы сохранить значения переменной в текущем сеансе, используется метод setAttribute() класса HttpSession, прочесть – getAttribute(),
- 100. Сессии Завершение сессии Сессия пользователя может быть завершена вручную или, в зависимости от того, где запущен
- 101. Сессии Превышение времени ожидания сессии Дескриптор размещения можно использовать для установки промежутка времени для сессии. Если
- 102. Сессии Следующая настройка в дескрипторе размещения приводит к установке времени ожидания сессии на 10 минут: 10
- 103. Сессии Перезапись URL Сессии становятся доступными при помощи обмена уникальными метками, которые называются идентификаторами сессии (session
- 104. Сессии Методы HttpServletResponse, которые поддерживают перезапись URL: public String encodeURL(String url) public String encodeRedirectURL(String url) Метод
- 105. Сессии. Example 04 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; import java.io.IOException; import java.io.PrintWriter; import
- 106. Сессии. Example 04 2011 © EPAM Systems, RD Dep. class SessionLogic { public static void printToBrowser(HttpServletResponse
- 107. Сессии. Example 04 2011 © EPAM Systems, RD Dep. catch (IOException e) { e.printStackTrace(); throw new
- 108. Сессии. Example 04 2011 © EPAM Systems, RD Dep.
- 109. COOKIES 2011 © EPAM Systems, RD Dep.
- 110. Cookies Использование Cookie Закладки (сookies) используются для хранения части информации на машине клиента. Закладки передаются клиенту
- 111. Cookies Сервер может обеспечить одну или более закладок для клиента. Предполагается, что программа клиента, как web
- 112. Cookies Использование Cookie Чтобы отправить закладку: Создайте объект Cookie Установите любые атрибуты Отправьте закладку Чтобы извлечь
- 113. Cookies Создание Cookie Конструктор класса javax.servlet.http.Cookie создает закладу с начальным именем и значением. Вы можете изменить
- 114. Cookies Установка атрибутов закладки 2011 © EPAM Systems, RD Dep. public void doGet (HttpServletRequest request, HttpServletResponse
- 115. Cookies Отправка закладки Закладки отправляются как заголовки ответа клиенту; они добавляются с помощью метода addCookie класса
- 116. Cookies 2011 © EPAM Systems, RD Dep. public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException,
- 117. Cookies Запрашивание закладок Клиенты возвращают закладки как поля, добавленные в HTTP заголовок запроса. Cookie[] getCookies() из
- 118. Cookies Получение значения закладки String getValue() - возвращает значение закладки. 2011 © EPAM Systems, RD Dep.
- 119. Cookies. Example 05 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; import java.io.IOException; import java.io.PrintWriter; import
- 120. Cookies. Example 05 2011 © EPAM Systems, RD Dep. class CookieLogic { private static int index
- 121. Cookies. Example 05 2011 © EPAM Systems, RD Dep. public static void seCookie(HttpServletRequest request, HttpServletResponse response)
- 122. Cookies. Example 05 2011 © EPAM Systems, RD Dep. private static int prepareCookieCounter(HttpServletRequest request, HttpServletResponse response)
- 123. Cookies. Example 05 2011 © EPAM Systems, RD Dep.
- 124. СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ РЕСУРСОВ 2011 © EPAM Systems, RD Dep.
- 125. Совместное использование ресурсов Сервлеты выполняемые на одном сервере иногда совместно используют ресурсы. Это справедливо для сервлетов,
- 126. Совместное использование ресурсов Пример названия атрибута examples.bookstore.database.BookDBFrontEnd. Имена, начинающиеся с префиксов java.*, javax.*, и sun.* зарезервированы.
- 127. Совместное использование ресурсов Интерфейс ServletContext Интерфейс ServletContext используется для взаимодействия с контейнером сервлетов. Сервлеты исполняемые на
- 128. Совместное использование ресурсов Когда у Вас несколько сервлетов используют атрибут, каждый должен проинициализировать этот атрибут. А
- 129. Совместное использование ресурсов ServletContext Object getAttribute(String name) – возвращает совместный ресурс. Enumeration getAttributeNames() – получает список
- 130. Совместное использование ресурсов Интерфейс ServletConfig Представляет собой конфигурацию сервлета, используется в основном на этапе инициализации. Все
- 131. Совместное использование ресурсов. Example 06 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; +import java.io.IOException;.. public
- 132. Совместное использование ресурсов. Example 06 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; +import java.io.IOException;.. public
- 133. Совместное использование ресурсов. Example 06 2011 © EPAM Systems, RD Dep.
- 134. СОБЫТИЯ 2011 © EPAM Systems, RD Dep.
- 135. События Существует несколько интерфейсов, которые позволяют следить за событиями, связанными с сеансом, контекстом и запросом сервлета,
- 136. События 2011 © EPAM Systems, RD Dep.
- 137. События 2011 © EPAM Systems, RD Dep.
- 138. События. Example 07 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; import java.io.IOException; import java.io.PrintWriter; import
- 139. События. Example 07 2011 © EPAM Systems, RD Dep. out.write(" session ID : " + session.getId());
- 140. События. Example 07 2011 © EPAM Systems, RD Dep. package _java._ee._01._listener; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent; public
- 141. События. Example 07 2011 © EPAM Systems, RD Dep. public void attributeRemoved(HttpSessionBindingEvent ev) { } public
- 142. События. Example 07 2011 © EPAM Systems, RD Dep. package _java._ee._01._listener; import javax.servlet.ServletRequest; import javax.servlet.ServletRequestEvent; import
- 143. События. Example 07 2011 © EPAM Systems, RD Dep. … version="2.5"> Java_EE_01_6 … _java._ee._01._listener.MyAttributeListener _java._ee._01._listener.MyRequestListener ListenerExample
- 144. События. Example 07 2011 © EPAM Systems, RD Dep.
- 145. ФИЛЬТРЫ 2011 © EPAM Systems, RD Dep.
- 146. Фильтры Реализация интерфейса Filter позволяет создать объект, который может трансформировать заголовок и содержимое запроса клиента или
- 147. Фильтры Основные действия, которые может выполнить фильтр: перехват инициализации сервлета и определение содержания запроса, прежде чем
- 148. Фильтры При программировании фильтров следует обратить внимание на интерфейсы Filter, FilterChain и FilterConfig из пакета javax.servlet.
- 149. Фильтры Кроме того, необходимо реализовать метод void init(FilterConfig config), который принимает параметры инициализации и настраивает конфигурационный
- 150. Фильтры С помощью метода doFilter() каждый фильтр получает текущий запрос и ответ, а также список фильтров
- 151. Фильтры. Example 08 2011 © EPAM Systems, RD Dep. package _java._ee._01.servlet; import java.io.IOException; import java.io.PrintWriter; import
- 152. Фильтры. Example 08 2011 © EPAM Systems, RD Dep. package _java._ee._01._filter; import java.io.IOException; import javax.servlet.Filter; import
- 153. Фильтры. Example 08 2011 © EPAM Systems, RD Dep. package _java._ee._01._filter; import java.io.IOException; import javax.servlet.Filter; import
- 154. Фильтры. Example 08 2011 © EPAM Systems, RD Dep. Java_EE_01_7 … FilterDemo _java._ee._01.servlet.FilterDemo FilterDemo /FilterDemo setCharFilter
- 155. Фильтры. Example 08 index.jsp 2011 © EPAM Systems, RD Dep. pageEncoding="UTF-8"%> Insert title here
- 156. Фильтры. Example 08 2011 © EPAM Systems, RD Dep.
- 158. Скачать презентацию