Презентация Понятие 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 Спецификация](/documents_6/1244e283cf3495ae52c5602c691e58d2/img0.jpg)
Содержание слайда: Понятие Cookie
Спецификация Cookie разработана компанией Netscape Communications
Cookie - это текстовый файл, хранящийся на клиентской машине и доступный браузеру.
С программной точки зрения, cookie - это пара «название - значение», которая посылается браузеру сервером при первом обращении, а затем передается браузером тому же серверу при обращении к определенным ресурсам.
Этот механизм позволяет на протяжении нескольких HTTP запросов сохранять для браузера на клиенте ту или иную информацию, полученную от сервера.
№6 слайд
![Преимущества Cookie](/documents_6/1244e283cf3495ae52c5602c691e58d2/img5.jpg)
Содержание слайда: Преимущества Cookie
Отслеживание сеанса пользователя
Пользовательские настройки
Подстановка имени и пароля при повторном заходе на сайт
Направленная реклама
Использование cookie не представляет угрозы безопасности с точки зрения атак
Браузеры принимают только 20 cookies на сайт и 300 всего, каждое Cookie до 4 кбайт – отсутствует проблема засорения жесткого диска
№7 слайд
![Недостатки Cookies Не](/documents_6/1244e283cf3495ae52c5602c691e58d2/img6.jpg)
Содержание слайда: Недостатки Cookies
Не представляют угрозу безопасности, но угрожают конфиденциальности:
eMail с HTML текстом может загружать Web-ресурсы, передающие cookies
Cookie могут подделываться для идентификации пользователя в качестве другого
Cookie – открытые текстовые файлы. Поэтому в них нельзя хранить конфиденциальную информацию. Обычно хранится только идентификатор – данные в хеш-таблице или базе данных на сервере
№10 слайд
![Сессии Для организации сессий](/documents_6/1244e283cf3495ae52c5602c691e58d2/img9.jpg)
Содержание слайда: Сессии
Для организации сессий существует три типичных подхода:
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 Объект сессии](/documents_6/1244e283cf3495ae52c5602c691e58d2/img10.jpg)
Содержание слайда: Cессии в Java
Объект сессии создается каждый раз при получении запроса от нового клиента и впоследствии идентифицирует его уникальным образом
Разным пользователям соответствуют различные объекты сессий
Сессии “живут” на сервере в течение заданного времени, но только для одного клиентского браузера
№12 слайд
![Интерфейс HttpSession](/documents_6/1244e283cf3495ae52c5602c691e58d2/img11.jpg)
Содержание слайда: Интерфейс HttpSession
Высокоуровневый интерфейс для работы с сеансами;
Автоматически обеспечивает поддержку сеанса при помощи cookies или перезаписи URL
Позволяет манипулировать данными о сессии, такими, как идентификатор, время создания, время жизни и т.п.
Позволяет сохранять данные, введенные клиентом в течение нескольких переходов по страницам
Получить ссылку на объект HttpSession в сервлете можно с помощью метода
request.getSession()
№13 слайд
![Реализация сессий В случае](/documents_6/1244e283cf3495ae52c5602c691e58d2/img12.jpg)
Содержание слайда: Реализация сессий
В случае использования cookies автоматически формируется Cookie с именем JSESSIONID и значением типа 02395C69B8FB84D3278B49F1B05F3379, которое используется в качестве ключа в хеш-таблице на сервере
Если cookie отключены, формируется URL вида:
http://.../some_path;jsessionid=02395C69B8FB84D3278B49F1B05F3379
Это делается автоматически только в случае, если URL, к которому обращаются из Web-приложения, закодирован методом
HttpServletResponse.encodeURL()
или encodeRedirectURL()
№15 слайд
![Пример работы с сессией](/documents_6/1244e283cf3495ae52c5602c691e58d2/img14.jpg)
Содержание слайда: Пример работы с сессией
Фрагмент сервлета, проверяющего правильность ввода имени и пароля
…
// Установка времени жизни сессии
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 слайд
![Данные, общие для всего](/documents_6/1244e283cf3495ae52c5602c691e58d2/img15.jpg)
Содержание слайда: Данные, общие для всего приложения
Объект ServetContext существует в единственном экземпляре для одного WEB-приложения.
В нем можно хранить глобальные настройки приложения (с помощью методов get/setAttribute(…))
Другие методы ServletContext:
getRealPath(String path) – возвращает реальный путь к ресурсу файловой системы, находящемся по заданному виртуальному пути
getResourceAsStream(String path) – возвращает поток байт реального ресурса файловой системы
Получить ссылку на ServletContext из сервлета можно, например, так:
getServletContext()
или по объекту request
request.getSession().getServletContext()
№17 слайд
![Установка атрибутов В](/documents_6/1244e283cf3495ae52c5602c691e58d2/img16.jpg)
Содержание слайда: Установка атрибутов
В качестве атрибутов выступают объекты
Атрибуты можно устанавливать на уровне
запроса
request.setAttribute(“myattr”, new Integer(1));
Integer attr = (Integer)request.getAttribute(“myattr”);
сессии
request.getSession().setAttribute(“myattr”, new Integer(1));
приложения
getServletContext().setAttribute(…)
№18 слайд
![Фильтры Фильтр это Java-код,](/documents_6/1244e283cf3495ae52c5602c691e58d2/img17.jpg)
Содержание слайда: Фильтры
Фильтр – это Java-код, пригодный для многократного использования и позволяющий осуществлять операции над содержимым HTTP-запросов, ответов и заголовков.
определены в спецификации сервлетов начиная с версии 2.3.
Фильтр способен обрабатывать:
запрос до его получения сервлетом;
ответ после его обработки сервлетом.
№24 слайд
![Пример пакет и импорты public](/documents_6/1244e283cf3495ae52c5602c691e58d2/img23.jpg)
Содержание слайда: Пример
//пакет и импорты
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() { }
}
№26 слайд
![Описание фильтров в web.xml](/documents_6/1244e283cf3495ae52c5602c691e58d2/img25.jpg)
Содержание слайда: Описание фильтров в 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>
№28 слайд
![Описание фильтров в web.xml](/documents_6/1244e283cf3495ae52c5602c691e58d2/img27.jpg)
Содержание слайда: Описание фильтров в 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](/documents_6/1244e283cf3495ae52c5602c691e58d2/img28.jpg)
Содержание слайда: Пример фильтра
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 слайд
![Пример фильтра Фрагмент](/documents_6/1244e283cf3495ae52c5602c691e58d2/img29.jpg)
Содержание слайда: Пример фильтра
Фрагмент 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](/documents_6/1244e283cf3495ae52c5602c691e58d2/img30.jpg)
Содержание слайда: Изменение 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 слайд
![Изменение содержимого](/documents_6/1244e283cf3495ae52c5602c691e58d2/img31.jpg)
Содержание слайда: Изменение содержимого 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 слайд
![Слушатели событий Слушатели](/documents_6/1244e283cf3495ae52c5602c691e58d2/img32.jpg)
Содержание слайда: Слушатели событий
Слушатели событий (Events listeners) - это классы, реализующие один или более интерфейсов слушателей событий сервлета.
Делятся на:
Servlet context listeners
События, связанные с контекстом сервлета.
HTTP session listeners
События, связанные с сеансом HTTP
№34 слайд
![Servlet context listeners](/documents_6/1244e283cf3495ae52c5602c691e58d2/img33.jpg)
Содержание слайда: 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)
№36 слайд
![HTTP session listeners](/documents_6/1244e283cf3495ae52c5602c691e58d2/img35.jpg)
Содержание слайда: 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)
№38 слайд
![Описание в web.xml В web.xml](/documents_6/1244e283cf3495ae52c5602c691e58d2/img37.jpg)
Содержание слайда: Описание в web.xml
В web.xml слушатели событий прописываются следующим образом:
<listener>
<listener-class>Полнoe имя клacca</listener-class>
</listener>
Слушатели событий описываются после привязок фильтров до определения сервлетов.
HttpSessionBindingListener в web.xml не прописывается, а реализуется классом, который должен отслеживать свою привязку и удаления из сесии
№39 слайд
![Пример Листинг public class](/documents_6/1244e283cf3495ae52c5602c691e58d2/img38.jpg)
Содержание слайда: Пример
Листинг:
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](/documents_6/1244e283cf3495ae52c5602c691e58d2/img39.jpg)
Содержание слайда: Пример
Листинг:
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>
№43 слайд
![Особенности Model](/documents_6/1244e283cf3495ae52c5602c691e58d2/img42.jpg)
Содержание слайда: Особенности Model 1
Преимущества:
простота разработки;
разработка JSP и бизнес-объектов может вестись параллельно благодаря отделению бизнес-логики от представления.
Недостатки:
необходимо вовлечение программистов в процесс создания JSP-документов;
оправдано создание только приложений, ориентированных на единый тип клиентов.
№45 слайд
![Model Приложение состоит из](/documents_6/1244e283cf3495ae52c5602c691e58d2/img44.jpg)
Содержание слайда: Model 2
Приложение состоит из 3-х частей:
Модель:
представляет собой состояние бизнес объектов;
обрабатывает запросы о состоянии;
представляет бизнес-логику приложения;
оповещает Представление об изменении состояния.
Контроллер:
определяет поведение приложения;
по запросу пользователя изменяет состояние Модели;
выбирает отображения для вывода;
единственный для каждой функции.
Представление:
отображает Модель;
получает от Модели информацию об изменении состояния;
передает ввод пользователя контроллеру;
позволяет контроллеру выбрать Представление.
Скачать все slide презентации Понятие Cookie. Класс javax. servlet. http. Cookie одним архивом:
Похожие презентации
-
Классы: основные понятия
-
Основные понятия объектно-ориентированного программирования. Классы, объекты, методы, свойства
-
Понятие Cookie
-
Основные понятия. Диаграммы классов
-
HTTP cookie. Краткий обзор
-
Язык программирования Паскаль. Основные понятия
-
Массивы. Понятие массива. Заполнение массива. Печать массива
-
Циклические алгоритмы. 9 класс
-
Язык разметки гипертекста HTML. 8 класс
-
Нелинейные алгоритмы. Язык программирования Паскаль. 8 класс