Помощь студентам дистанционного обучения: тесты, экзамены, сессия
Помощь с обучением
Оставляй заявку - сессия под ключ, тесты, практика, ВКР
Заявка на расчет

Лабораторный практикум по Java для МТИ. Лабораторная работа №3

Автор статьи
Валерия
Валерия
Наши авторы
Эксперт по сдаче вступительных испытаний в ВУЗах

Содержание

 

Лабораторная работа №3 Настройка и подключение фильтров в веб-приложении

Цель работы
  1. Расширить знания по созданию лисенеров и веб-фильтров.
  2. Запустить приложение в серверной среде и проверить работу лисенеров и вебфильтров.
Программное обеспечение
  1. Eclipse
  2. Maven 3
  3. JDK 1.6
  4. Jetty
Необходимая теоретическая подготовка
  • Понимание технологии Servlets из Java EE.
  • Понимание теории создания лисенеров веб-приложения.
  • Понимание теории создания веб-фильтров.
  • Понимание теоретических причин использования и создания лисенеров и вебфильтров в приложениях.
Теоретическая часть

Сервлетный фильтр – это Java код, применимый для повторного использования и позволяющий изменять содержание HTTP-запросов, ответов и различную информацию, в заголовках HTML.

Основная цель сервлетного фильтра это занимается предварительной обработкой запроса и/или последующей обработкой ответа, исходящего от сервлета. Сервлетные фильтры используются для:
  • перехватывания инициации сервлета до того, как сам сервлет будет инициирован;
  • определения содержания запроса;
  • изменения http заголовков и данных из запроса;
  • модификации заголовков и данных ответа, в которые складывается получаемый ответ;
  • перехвата обработки сервлета после обращения к нему.

Примеры вызова сервлета с использованием фильтра и без использования приведены ниже.Рисунок 14. Примеры вызова сервлета без фильтров и с их использованием

Фильтр может быть сконфигурирован так, что он будет обрабатывать один сервлет или группу сервлетов. Базой для создания фильтров служит интерфейс javax.servlet.Filter, который должен реализовывать три метода (см. рисунок ниже).

Рисунок 15. Методы javax.servlet.Filter

В итоге, сервер вызывает метод init один раз, чтобы запустить фильтр, а после вызывает метод doFilter столько раз, сколько запросов будет передано к данному фильтру. Ниже приведен экземпляр сервлетного фильтра.

import javax.servlet.*; import java.io.IOException; /** */ public class SimpleServletFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { String active = request.getParameter(«active»); if(!»blockTheRequest».equals(active)){ filterChain.doFilter(request, response); } } public void destroy() { } }

После того, как класс-фильтр создан, его следует установить в контейнер и «приписать» к одному или нескольким сервлетам . Объявление и подключение фильтра проводится в дескрипторе web.xml внутри элементов <filter> и <filter-mapping>. Для подключения фильтра к сервлету следует использовать теги <filter-name> и <servlet-name>. Ниже приведен пример объявления фильтра.

<filter> <filter-name>myFilter</filter-name> <filter-class>servlets.SimpleServletFilter</filter-class> </filter>

Ниже приведен пример подключения фильтра к сервлету.

<filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>*.simple</url-pattern> </filter-mapping>

В приведённом коде дескриптора web.xml объявлен класс-фильтр FilterConnect с именем myFilter. Фильтр myFilter в разделе <filter-mapping> подключен к сервлету ServletName. Порядок, по которому контейнер сервлетов выстраивает цепочку фильтров для запроса, определяется следующим набором правил:
  • цепочка, определяемая шаблоном url, выстраивается в таком порядке, в котором встречаются описания фильтров в web.xml;
  • последовательность сервлетов, заданных с помощью servlet-name, выполняется в аналогичной последовательности, в какой эти элементы присутствуют в дескрипторе web.xml.
Для связи фильтра с пользовательскими страницами HTML или группой сервлетов следует использовать тег <url-pattern>. Фильтр будет применен ко всем вызовам. Ниже приведен пример подключения фильтра к HTML-страницам.

<filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping>

Практическая часть 1. Необходимо открыть ранее созданное веб-приложение и создать новый package в структуре в src/main/java с название com.test.servlet.filters.MyFirstFilter (см. рисунок ниже).

Рисунок 16. Создание нового package в структуре в src/main/java

Код должен иметь следующее содержание:

import javax.servlet.*; import java.io.IOException; /** */ public class MyFirstFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { System.out.println(“MyFirstFilter is running!”); filterChain.doFilter(request, response);

} public void destroy() { } }

2. В web.xml следует настроить фильтры для работы по указанному url. <filter> <filter-name>MyFirstFilter</filter-name> <filter-class>com.test.servlet.filters.MyFirstFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFirstFilter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping> 3. Запустить приложение и проверить работу фильтра по указанному url в web.xml. 4. Создать собственный фильтр для приложения в соответствии с указанным вариантом задания. Вариант 1. Создать фильтр, который:
  • читает 3 входящих параметра (имя, фамилия, отчество);
  • логирует их в консоль.
Если один из параметров пустой, требуется отобразить html-страницу с ошибкой. Вариант 2. Создать фильтр, который:
  • читает параметр в виде имя картинки-файла;
  • логирует параметр в консоль.
Если параметр пустой, требуется отобразить html-страницу с ошибкой. Отчет о выполнении работы 1. Файлы исходного кода реализованной логики. Вопросы для самопроверки 1. Для чего нужны фильтры? 2. Как создается последовательность из фильтров? 3. Что произойдет, если не вызывать метод doFilter в фильтре? Литература 1. http://www.bsu.by/Cache/pdf/87983.pdf – книга сервлетам. 2. http://theopentutorials.com/examples/java-ee/servlet/how-to-create-a-servlet-with-eclipseand-tomcat/ – создание фильтров с нуля.

или напишите нам прямо сейчас

Написать в WhatsApp Написать в Telegram

О сайте
Ссылка на первоисточник:
http://soripkro.ru
Поделитесь в соцсетях:

Оставить комментарий

Inna Petrova 18 минут назад

Нужно пройти преддипломную практику у нескольких предметов написать введение и отчет по практике так де сдать 4 экзамена после практики

Иван, помощь с обучением 25 минут назад

Inna Petrova, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Коля 2 часа назад

Здравствуйте, сколько будет стоить данная работа и как заказать?

Иван, помощь с обучением 2 часа назад

Николай, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инкогнито 5 часов назад

Сделать презентацию и защитную речь к дипломной работе по теме: Источники права социального обеспечения. Сам диплом готов, пришлю его Вам по запросу!

Иван, помощь с обучением 6 часов назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Василий 12 часов назад

Здравствуйте. ищу экзаменационные билеты с ответами для прохождения вступительного теста по теме Общая социальная психология на магистратуру в Московский институт психоанализа.

Иван, помощь с обучением 12 часов назад

Василий, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Анна Михайловна 1 день назад

Нужно закрыть предмет «Микроэкономика» за сколько времени и за какую цену сделаете?

Иван, помощь с обучением 1 день назад

Анна Михайловна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Сергей 1 день назад

Здравствуйте. Нужен отчёт о прохождении практики, специальность Государственное и муниципальное управление. Планирую пройти практику в школе там, где работаю.

Иван, помощь с обучением 1 день назад

Сергей, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инна 1 день назад

Добрый день! Учусь на 2 курсе по специальности земельно-имущественные отношения. Нужен отчет по учебной практике. Подскажите, пожалуйста, стоимость и сроки выполнения?

Иван, помощь с обучением 1 день назад

Инна, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Студент 2 дня назад

Здравствуйте, у меня сегодня начинается сессия, нужно будет ответить на вопросы по русскому и математике за определенное время онлайн. Сможете помочь? И сколько это будет стоить? Колледж КЭСИ, первый курс.

Иван, помощь с обучением 2 дня назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Ольга 2 дня назад

Требуется сделать практические задания по математике 40.02.01 Право и организация социального обеспечения семестр 2

Иван, помощь с обучением 2 дня назад

Ольга, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Вика 3 дня назад

сдача сессии по следующим предметам: Этика деловых отношений - Калашников В.Г. Управление соц. развитием организации- Пересада А. В. Документационное обеспечение управления - Рафикова В.М. Управление производительностью труда- Фаизова Э. Ф. Кадровый аудит- Рафикова В. М. Персональный брендинг - Фаизова Э. Ф. Эргономика труда- Калашников В. Г.

Иван, помощь с обучением 3 дня назад

Вика, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Игорь Валерьевич 3 дня назад

здравствуйте. помогите пройти итоговый тест по теме Обновление содержания образования: изменения организации и осуществления образовательной деятельности в соответствии с ФГОС НОО

Иван, помощь с обучением 3 дня назад

Игорь Валерьевич, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Вадим 4 дня назад

Пройти 7 тестов в личном кабинете. Сооружения и эксплуатация газонефтипровод и хранилищ

Иван, помощь с обучением 4 дня назад

Вадим, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Кирилл 4 дня назад

Здравствуйте! Нашел у вас на сайте задачу, какая мне необходима, можно узнать стоимость?

Иван, помощь с обучением 4 дня назад

Кирилл, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Oleg 4 дня назад

Требуется пройти задания первый семестр Специальность: 10.02.01 Организация и технология защиты информации. Химия сдана, история тоже. Сколько это будет стоить в комплексе и попредметно и сколько на это понадобится времени?

Иван, помощь с обучением 4 дня назад

Oleg, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Валерия 5 дней назад

ЗДРАВСТВУЙТЕ. СКАЖИТЕ МОЖЕТЕ ЛИ ВЫ ПОМОЧЬ С ВЫПОЛНЕНИЕМ практики и ВКР по банку ВТБ. ответьте пожалуйста если можно побыстрее , а то просто уже вся на нервяке из-за этой учебы. и сколько это будет стоить?

Иван, помощь с обучением 5 дней назад

Валерия, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Инкогнито 5 дней назад

Здравствуйте. Нужны ответы на вопросы для экзамена. Направление - Пожарная безопасность.

Иван, помощь с обучением 5 дней назад

Здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Иван неделю назад

Защита дипломной дистанционно, "Синергия", Направленность (профиль) Информационные системы и технологии, Бакалавр, тема: «Автоматизация приема и анализа заявок технической поддержки

Иван, помощь с обучением неделю назад

Иван, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru

Дарья неделю назад

Необходимо написать дипломную работу на тему: «Разработка проекта внедрения CRM-системы. + презентацию (слайды) для предзащиты ВКР. Презентация должна быть в формате PDF или формате файлов PowerPoint! Институт ТГУ Росдистант. Предыдущий исполнитель написал ВКР, но работа не прошла по антиплагиату. Предыдущий исполнитель пропал и не отвечает. Есть его работа, которую нужно исправить, либо переписать с нуля.

Иван, помощь с обучением неделю назад

Дарья, здравствуйте! Мы можем Вам помочь. Прошу Вас прислать всю необходимую информацию на почту и написать что необходимо выполнить. Я посмотрю описание к заданиям и напишу Вам стоимость и срок выполнения. Информацию нужно прислать на почту info@the-distance.ru