Презентация Понятие Cookie. Класс javax. servlet. http. Cookie онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Понятие Cookie. Класс javax. servlet. http. Cookie абсолютно бесплатно. Урок-презентация на эту тему содержит всего 52 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Понятие Cookie. Класс javax. servlet. http. Cookie



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    52 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    647.00 kB
  • Просмотров:
    54
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Понятие Cookie Спецификация
Содержание слайда: Понятие Cookie Спецификация Cookie разработана компанией Netscape Communications Cookie - это текстовый файл, хранящийся на клиентской машине и доступный браузеру. С программной точки зрения, cookie - это пара «название - значение», которая посылается браузеру сервером при первом обращении, а затем передается браузером тому же серверу при обращении к определенным ресурсам. Этот механизм позволяет на протяжении нескольких HTTP запросов сохранять для браузера на клиенте ту или иную информацию, полученную от сервера.

№2 слайд
Схема обмена Cookie
Содержание слайда: Схема обмена Cookie

№3 слайд
Cookie Response Header
Содержание слайда: Cookie Response Header: Set-Cookie: cname=cvalue;Expires=Tue, 14-Feb-2006 23:13:26 GMT;Path=/ Request Header: Cookie: cname=cvalue Internet Explorer: ...\Documents and Settings\...\Cookies

№4 слайд
Класс
Содержание слайда: Класс javax.servlet.http.Cookie Cookie(String name, String value) get/setName(String) get/setValue(String) get/setAge(int) get/setPath(String) is/setSecure(boolean) get/setVersion(int)

№5 слайд
Пример использования.Cookie
Содержание слайда: Пример использования.Cookie Cookie c = new Cookie("cname", "cvalue"); c.setPath("/"); c.setMaxAge(3600); response.setContentType = "text/html"; response.addCookie(c); Cookie cookies[] = request.getCookies();

№6 слайд
Преимущества Cookie
Содержание слайда: Преимущества Cookie Отслеживание сеанса пользователя Пользовательские настройки Подстановка имени и пароля при повторном заходе на сайт Направленная реклама Использование cookie не представляет угрозы безопасности с точки зрения атак Браузеры принимают только 20 cookies на сайт и 300 всего, каждое Cookie до 4 кбайт – отсутствует проблема засорения жесткого диска

№7 слайд
Недостатки Cookies Не
Содержание слайда: Недостатки Cookies Не представляют угрозу безопасности, но угрожают конфиденциальности: eMail с HTML текстом может загружать Web-ресурсы, передающие cookies Cookie могут подделываться для идентификации пользователя в качестве другого Cookie – открытые текстовые файлы. Поэтому в них нельзя хранить конфиденциальную информацию. Обычно хранится только идентификатор – данные в хеш-таблице или базе данных на сервере

№8 слайд
Отслеживание сеанса HTTP
Содержание слайда: Отслеживание сеанса HTTP – stateless протокол каждый запрос – отдельное соединение сервер не имеет данных о предыдущем запросе Connection: keep-alive не спасает ситуацию

№9 слайд
Сессии
Содержание слайда: Сессии

№10 слайд
Сессии Для организации сессий
Содержание слайда: Сессии Для организации сессий существует три типичных подхода: Cookies response.addCookie(“JSESSIONID”, sessionId); URL-rewriting http://www.some.com/page.jsp?jsessionid=12345 http://www.some.com/page.jsp/12345 http://www.some.com/page.jsp;jsessionid=12345 Скрытые поля форм <input type=“hidden” name=“JSESSIONID” value=“12345”> В Java Web-контейнерами обычно используются по умолчанию Cookies, но если браузер их не поддерживает – автоматически осуществляется переход на URL-Rewriting

№11 слайд
Cессии в Java Объект сессии
Содержание слайда: Cессии в Java Объект сессии создается каждый раз при получении запроса от нового клиента и впоследствии идентифицирует его уникальным образом Разным пользователям соответствуют различные объекты сессий Сессии “живут” на сервере в течение заданного времени, но только для одного клиентского браузера

№12 слайд
Интерфейс HttpSession
Содержание слайда: Интерфейс HttpSession Высокоуровневый интерфейс для работы с сеансами; Автоматически обеспечивает поддержку сеанса при помощи cookies или перезаписи URL Позволяет манипулировать данными о сессии, такими, как идентификатор, время создания, время жизни и т.п. Позволяет сохранять данные, введенные клиентом в течение нескольких переходов по страницам Получить ссылку на объект HttpSession в сервлете можно с помощью метода request.getSession()

№13 слайд
Реализация сессий В случае
Содержание слайда: Реализация сессий В случае использования cookies автоматически формируется Cookie с именем JSESSIONID и значением типа 02395C69B8FB84D3278B49F1B05F3379, которое используется в качестве ключа в хеш-таблице на сервере Если cookie отключены, формируется URL вида: http://.../some_path;jsessionid=02395C69B8FB84D3278B49F1B05F3379 Это делается автоматически только в случае, если URL, к которому обращаются из Web-приложения, закодирован методом HttpServletResponse.encodeURL() или encodeRedirectURL()

№14 слайд
Сессии в Java
Содержание слайда: Сессии в Java

№15 слайд
Пример работы с сессией
Содержание слайда: Пример работы с сессией Фрагмент сервлета, проверяющего правильность ввода имени и пароля … // Установка времени жизни сессии request.getSession().setMaxInactiveInterval(30*60*1000); // Берем параметры из запроса String login = request.getParameter("login"); String password = request.getParameter("password"); // создаем объект User User user = new User(login, password): if (userDatabase.contains(user)){ // Если такой есть – помещаем в сессию request.getSession().setAttribute("user", user); } … Фрагмент сервлета, выводящего имя зарегистрированного пользователя … // извлекаем объект User из сессии User user = (User)request.getSession().getAttribute("user"); // Печатаем имя пользователя response.getWriter().println("User name: " + user.getName()); …

№16 слайд
Данные, общие для всего
Содержание слайда: Данные, общие для всего приложения Объект ServetContext существует в единственном экземпляре для одного WEB-приложения. В нем можно хранить глобальные настройки приложения (с помощью методов get/setAttribute(…)) Другие методы ServletContext: getRealPath(String path) – возвращает реальный путь к ресурсу файловой системы, находящемся по заданному виртуальному пути getResourceAsStream(String path) – возвращает поток байт реального ресурса файловой системы Получить ссылку на ServletContext из сервлета можно, например, так: getServletContext() или по объекту request request.getSession().getServletContext()

№17 слайд
Установка атрибутов В
Содержание слайда: Установка атрибутов В качестве атрибутов выступают объекты Атрибуты можно устанавливать на уровне запроса request.setAttribute(“myattr”, new Integer(1)); Integer attr = (Integer)request.getAttribute(“myattr”); сессии request.getSession().setAttribute(“myattr”, new Integer(1)); приложения getServletContext().setAttribute(…)

№18 слайд
Фильтры Фильтр это Java-код,
Содержание слайда: Фильтры Фильтр – это Java-код, пригодный для многократного использования и позволяющий осуществлять операции над содержимым HTTP-запросов, ответов и заголовков. определены в спецификации сервлетов начиная с версии 2.3. Фильтр способен обрабатывать: запрос до его получения сервлетом; ответ после его обработки сервлетом.

№19 слайд
Роль фильтра в обработке
Содержание слайда: Роль фильтра в обработке запроса

№20 слайд
Интерфейс
Содержание слайда: Интерфейс javax.servlet.Filter Интерфейс Filter имеет следующие методы: init(FilterConfig); doFilter(ServletRequest, ServletResponse, FilterChain); destroy().

№21 слайд
Жизненный цикл фильтра
Содержание слайда: Жизненный цикл фильтра

№22 слайд
Цепочка фильтров
Содержание слайда: Цепочка фильтров Предназначена для обработки запроса последовательно несколькими фильтрами. Представлена интерфейсом javax.servlet.FilterChain. Объект создается автоматически контейнером Метод: doFilter(ServletRequest, ServletResponse)

№23 слайд
Интерфейс
Содержание слайда: Интерфейс javax.servlet.FilterConfig Служит для передачи информации о настройках фильтру при его инициализации. Имеет следующие методы: String getFilterName() String getInitParameter(String) Enumeration getInitParameterNames() ServletContext getServletContext()

№24 слайд
Пример пакет и импорты public
Содержание слайда: Пример //пакет и импорты public class LoggerFilter implements Filter { private FilterConfig filterConfig; public void setFilterConfig(FilterConfig fc) { filterConfig = fc; } public FilterConfig getFilterConfig() { return filterConfig; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { if (filterConfig == null) { return; } ServletContext ctx = filterConfig.getServletContext(); ctx.log ("" + new Date() + " - resource: " + ((HttpServletRequest)request).getRequestURL() + " is requested by: " + request.getRemoteHost()) ; chain.doFilter(request, response) ; } public void init(FilterConfig config) throws ServletException { this.filterConfig = config; } public void destroy() { } }

№25 слайд
Описание фильтров в web.xml В
Содержание слайда: Описание фильтров в web.xml В файле web.xml фильтры описываются в элементе filter. Он имеет следующие параметры: filter-name filter-class init-params icon (опциональный) description (опциональный) display-name (опциональный)

№26 слайд
Описание фильтров в web.xml
Содержание слайда: Описание фильтров в web.xml Для каждого определенного в web.xml фильтра создается ровно один экземпляр. Разные теги <filter> с одним и тем же классом, но разным именем – разные фильтры Пример описания фильтра в web.xml <filter> <filter-name>LoggerFilter</filter-name> <filter-class>ua.kharkov.kture.ius.wbis.LoggerFilter</filter-class> <init-param> <param-name>logLevel</param-name> <param-value>medium</param-value> </init-param> </filter>

№27 слайд
Описание фильтров в web.xml
Содержание слайда: Описание фильтров в web.xml Описание фильтров и их привязок описывается в web.xml-файле перед определением сервлетов. Цепочка фильтров-обработчиков строится исходя из последовательности появления соответствующих привязок в web.xml.

№28 слайд
Описание фильтров в web.xml
Содержание слайда: Описание фильтров в web.xml Привязка фильтров бывает: к сервлету <filter-mapping> <filter-name>Filter1</filter-name> <servlet-name>Servlet1</servlet-name> </filter-mapping к ресурсу по маске <filter-mapping> <filter-name>SystemAccessFilter</fliter-name> <url-pattern>/*</url-pattern> </filter-mapping>

№29 слайд
Пример фильтра package
Содержание слайда: Пример фильтра package filters; //импорты public class SetCharacterEncodingFilter implements Filter { protected String encoding = null; protected FilterConfig filterConfig = null; public void destroy() { this.encoding = null; this.filterConfig = null; } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String encoding = selectEncoding(request); if (encoding != null) request.setCharacterEncoding(encoding); chain.doFilter(request, response); } public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; this.encoding = filterConfig.getInitParameter("encoding"); } protected String selectEncoding(ServletRequest request) { return (this.encoding); } }

№30 слайд
Пример фильтра Фрагмент
Содержание слайда: Пример фильтра Фрагмент web.xml: ... <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>CP1251</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ...

№31 слайд
Изменение ServletResponse
Содержание слайда: Изменение ServletResponse public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // действия фильтра до передачи обработки запроса chain.doFilter(request, response); // действия фильтра после обработки запроса ((HttpServletResponse)response).setStatus(403); ((HttpServletResponse)response).getWriter().println(“Bye“); }

№32 слайд
Изменение содержимого
Содержание слайда: Изменение содержимого HTTP-ответа public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { ReverseResponse rr = new ReverseResponse((HttpServletResponse) response); chain.doFilter(request, rr); response.getWriter().println(rr.getContent().reverse()); } } class ReverseResponse extends HttpServletResponseWrapper { private StringWriter sw = new StringWriter(); private PrintWriter pw = new PrintWriter(sw); public ReverseResponse(HttpServletResponse response) { super(response); } public PrintWriter getWriter() { return pw; } public StringBuffer getContent() { return sw.getBuffer(); } }

№33 слайд
Слушатели событий Слушатели
Содержание слайда: Слушатели событий Слушатели событий (Events listeners) - это классы, реализующие один или более интерфейсов слушателей событий сервлета. Делятся на: Servlet context listeners События, связанные с контекстом сервлета. HTTP session listeners События, связанные с сеансом HTTP

№34 слайд
Servlet context listeners
Содержание слайда: Servlet context listeners Представлены интерфейсами: javax.servlet.ServletContextListener: void contextInitialized(ServletContextEvent sce) void contextDestroyed(ServletContextEvent sce) javax.servlet.ServletContextAttributeListener: void attributeAdded(ServletContextAttributeEvent e) void attributeRemoved(ServletContextAttributeEvent e) void attributeReplaced(ServletContextAttributeEvent e)

№35 слайд
События слушателей контекста
Содержание слайда: События слушателей контекста javax.servlet. ServletContextEvent ServletContext getServletContext() javax.servlet.ServletContextAttributeEvent String getName() Object getValue()

№36 слайд
HTTP session listeners
Содержание слайда: HTTP session listeners javax.servlet.HttpSessionListener: void sessionCreated(HttpSessionEvent se) void sessionDestroyed(HttpSessionEvent se) javax.servlet.HttpSessionAttributeListener: void attributeAdded(HttpSessionBindingEvent e) void attributeRemoved(HttpSessionBindingEvent e) void attributeReplaced(HttpSessionBindingEvent e) javax.servlet.HttpSessionBindingListener: void valueBound(HttpSessionBindingEvent event) void valueUnbound(HttpSessionBindingEvent event)

№37 слайд
События слушателей сессии
Содержание слайда: События слушателей сессии javax.servlet.http.HttpSessionEvent HttpSession getSession() javax.servlet.http.HttpSessionBindingEvent HttpSession getSession() String getName() Object getValue()

№38 слайд
Описание в web.xml В web.xml
Содержание слайда: Описание в web.xml В web.xml слушатели событий прописываются следующим образом: <listener> <listener-class>Полнoe имя клacca</listener-class> </listener> Слушатели событий описываются после привязок фильтров до определения сервлетов. HttpSessionBindingListener в web.xml не прописывается, а реализуется классом, который должен отслеживать свою привязку и удаления из сесии

№39 слайд
Пример Листинг public class
Содержание слайда: Пример Листинг: public class LifeCycleServletContextListener implements ServletContextListener { public LifeCycleServletContextListener() { } public void contextInitialized(ServletContextEvent sce) { System.out.println("LifeCycleServletContextListener: contextInitialized"); } public void contextDestroyed(ServletContextEvent sce) { System.out.println("LifeCycleServletContextListener:contextDestroyed"); } } Фрагмент web.xml <listener> <listener-class> testr1.LifeCycleServletContextListener </listener-class> </listener>

№40 слайд
Пример Листинг public class
Содержание слайда: Пример Листинг: public class LifeCycleServletContextListener implements ServletContextListener { public LifeCycleServletContextListener() { } public void contextInitialized(ServletContextEvent sce) { System.out.println("LifeCycleServletContextListener: contextInitialized"); } public void contextDestroyed(ServletContextEvent sce) { System.out.println("LifeCycleServletContextListener:contextDestroyed"); } } Фрагмент web.xml <listener> <listener-class> testr1.LifeCycleServletContextListener </listener-class> </listener>

№41 слайд
Подходы к созданию
Содержание слайда: Подходы к созданию Web-базированных ИС Совмещение бизнес-логики и дизайна на JSP-страницах. Вынесение части логики в bean-компоненты (Model 1). Разделение Web-приложения на 3 части: Модель, Представление и Контроллер (Model 2).

№42 слайд
Model
Содержание слайда: Model 1

№43 слайд
Особенности Model
Содержание слайда: Особенности Model 1 Преимущества: простота разработки; разработка JSP и бизнес-объектов может вестись параллельно благодаря отделению бизнес-логики от представления. Недостатки: необходимо вовлечение программистов в процесс создания JSP-документов; оправдано создание только приложений, ориентированных на единый тип клиентов.

№44 слайд
Треугольник MVC
Содержание слайда: Треугольник MVC

№45 слайд
Model Приложение состоит из
Содержание слайда: Model 2 Приложение состоит из 3-х частей: Модель: представляет собой состояние бизнес объектов; обрабатывает запросы о состоянии; представляет бизнес-логику приложения; оповещает Представление об изменении состояния. Контроллер: определяет поведение приложения; по запросу пользователя изменяет состояние Модели; выбирает отображения для вывода; единственный для каждой функции. Представление: отображает Модель; получает от Модели информацию об изменении состояния; передает ввод пользователя контроллеру; позволяет контроллеру выбрать Представление.

№46 слайд
Общая схема Model
Содержание слайда: Общая схема Model 2

№47 слайд
Схема Model для Web-приложений
Содержание слайда: Схема Model 2 для Web-приложений

№48 слайд
Особенности Model Возможность
Содержание слайда: Особенности Model 2 Возможность переиспользования компонентов Модели. Простая поддержка новых типов клиентов. Возросшая сложность разработки.

№49 слайд
Пример приложения на model
Содержание слайда: Пример приложения на model1

№50 слайд
Результат
Содержание слайда: Результат

№51 слайд
Пример приложения на model
Содержание слайда: Пример приложения на model2

№52 слайд
Результат
Содержание слайда: Результат

Скачать все slide презентации Понятие Cookie. Класс javax. servlet. http. Cookie одним архивом: