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

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

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

Содержание

 

Лабораторная работа №2 Создание веб-приложения на базе Servlets и JSP

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

Сервлет – диспетчер процесса, который находится на веб-сервере и обрабатывает различные входящие запросы и выдаёт исходящие ответы на них.

Можно использовать сервлет для записи в поток, который добавляет содержимое к веб-странице, но при этом, как правило, происходит смешение логики представления и бизнес-логики. Большинство Java-сервлетов, с которыми работают программисты, предназначены для ответов на различные HTTP-запросы в рамках текущего веб-приложения. Следовательно, каждому разработчику системы следует знать HTTP-классы из пакетов javax.servlet и javax.servlet.http. При создании Java-сервлета обычно создается подкласс класса HttpServlet. Ниже приведен экземпляр создания сервлета.

import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HelloWorld extends HttpServlet { private ServletConfig config; public void init(ServletConfig config) throws ServletException { this.config = config; } public void destroy() { } public ServletConfig getServletConfig() { return config; } public String getServletInfo() { return «A Simple Servlet»; } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType(«text/html»); PrintWriter out = resp.getWriter(); out.println(«<html><head>»); out.println(«<title>A Sample Servlet!</title>»); out.println(«</head>»); out.println(«<body>»); out.println(«<h1>Hello, World!</h1>»); out.println(«</body></html>»); out.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); } }

Сам HTTP-протокол, не связан с Java. HTTP-протокол это просто спецификация, которая определяет, какими должны быть запросы к серверу и его ответы. Сервлет заключают эти конструкции протокола в Java-классы, имеющие удобные методы и которые облегчают работу с этими конструкциями в рамках языка Java. Когда пользователь посылает запрос через URL сервлету, сервер преобразуют их в HttpServletRequest и передают адресату, как это настроено в конфигурационных файлах контейнера сервлетов или сервера, который используется в данный момент. Когда сервер заканчивает работу с запросом, JRE упаковывает и собирает результаты в HttpServletResponse и передает HTTP-ответ назад клиенту, пославшему текущий запрос. При обычном взаимодействии с веб-приложением посылается несколько запросов и, соответственно, на них приходит несколько ответов. Все они обрабатываются в контексте сессии, которая в Java хранится в объект класса HttpSession. Так же можно обратиться к этому объекту при обработке запросов в классе и провести необходимые изменения, если требуется. Контейнер, такой например как Jetty, управляет средой исполнения сервлетов. Имеется возможность по настройке способов функционирования J2EE-сервера, который необходимо настроить для функционирования сервлетов с внешним миром. Как будет описано далее, используя различные конфигурации файлов контейнера, это обеспечивает мост от URL, введенного пользователем в браузере, к сервлетам, обрабатывающим запросы пользователей, в который транслируется URL. Во время работы приложения сервер загружает и инициализирует сервлеты, а так же управляет их жизненным циклом. Простыми словами, для любого создаваемого сервлета всегда будут вызываться определенные методы в определенном порядке. Ниже приведен обычный сценарий работы сервелетов на сервере. Жизненный цикл сервлета состоит из следующих шагов: 1. Если отсутствует сервлет в контейнере, тогда Класс сервлета загружается самим контейнером. Далее Контейнер используя класс сервлета создает его экземпляр. Создание происходит вызовом метода init(). Этот метод инициализирует сам сервлет и всегда вызывается первым, до того, как сервлет начинает обслуживать запросы пользователей. За весь цикл жизни сервлета метод init() вызывается только один раз. 2. Далее происходит обслуживание клиентских запросов. Запросы обрабатываются в своих отдельных потоках. Сервер вызывает метод service() для каждого запроса из запросов. Данный метод определяет тип запроса и отправляет его в соответствующий этому типу метод для обработки. Разработчик должен предоставить реализацию для всех этих методов, если есть такая необходимость. Если поступил запрос, метод для которого не был разработан, будет вызван метод родительского класса и завершается возвращением ошибки инициатору. 3. В случае если серверу необходимо удалить сервлет, он вызывает метод destroy(), который снимает сервлет из эксплуатации. JSP (JavaServer Pages)

JSP (JavaServer Pages) – это технология, которая позволяет разработчикам легко и просто создавать содержимое, которое имеет статические, динамические компоненты.

По сути, любая JSP страница является простым текстовым документом, который содержит текст двух определённых типов: 1. статические данные, которые оформляются в виде одного из текстового формата HTML, XML; 2. JSP теги и элементы, конструируют динамическое содержимое страницы. Кроме этого могут использоваться различные библиотеки JSP-тегов, для добавления Java-кода в статичное содержимое JSP-страниц. Это одна из наиболее применимых технологий, так как весь код страницы транслируется в java-код сервлета с помощью компилятора JSP-страниц, а далее компилируется в байт-код виртуальной машины. Контейнеры сервлетов (Jetty или Tomcat), способные исполнять JSP-страницы, написаны на языке Java, который может работать на различных платформах. Пример JSP-страницы приведен ниже.

<html> <head> <title> Очень простая страница JSP </title> </head> <body> <h1> Очень простая страница JSP </h1> <НЗ> Этот пример показывает, как работать с выражениями JSP</H3> Текущая дата: <%= new java.util.Date()%> <br> Значение переданного параметра «param»: <%= request.getParameter(«param»)%> </body> </html>

Для настройки работы сервлета и JSP страниц на сервере необходимо описать его в дескрипторе развертывания, который в технологии Java EE, является файл web.xml. В веб-приложениях Java используют файл дескриптора развертывания для определения способа сопоставления URL с сервлетами, URL которых требуют аутентификации и других сведений. Этот файл называется web.xml и находится в WAR приложения в каталоге WEB-INF/. Это XML-файл, корневым элементом которого является <web-app>. Файл web.xml является частью стандарта сервлета для веб-приложений. Пример дескриптора представлен ниже.

<?xml version=»1.0″ encoding=»ISO-8859-1″?> <!DOCTYPE web-app PUBLIC «-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN» «http://java.sun.com/j2ee/dtds/web-app_2.2.dtd»> <web-app> <servlet> <servlet-name>hello</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>

 

Дескриптор развертывания веб-приложения описывает различные классы, ресурсы и конфигурационные файлы. Но и их использование вебсервером для обработки веб-запросов и ответов на них.

При получении сервером запроса для приложения используется дескриптор развертывания, который и сопоставляет URL запроса с кодом, который и обработавает запрос. Практическая часть 1. Необходимо открыть ранее созданное веб-приложение и провести разбор каталога создаваемого проекта. Структура каталога должна быть примерно такой, как представлено на рисунке ниже.

Рисунок 13. Структура каталога создаваемого проекта

  • В каталоге src/main – будут располагаться исходники(/java) Java и файлы настройки создаваемого приложения(/resources).
  • Каталог webapp является носителем всей служебной информации по настройке создаваемого веб-приложения. В данном каталоге будут храниться jsp-файлы, а также конфигурационные настройки для корректного функционирования приложения на сервере.
  • Web.xml – является дескриптором веб-приложения.
  • В каталоге /target будут собираться и храниться до следующей сборки файлы создаваемого приложения, в том числе и собранный архив проекта, подготовленный для установки на сервер.
2. Необходимо создать пакет для исходников java. 3. Создать и реализовать сервлеты в соответствии с заданным вариантом задания (см. ниже). Вариант 1. Создать сервлет, который:
  • принимает 3 входящих параметра: имя, фамилию, отчество;
  • создает новый файл в любом заданном каталоге на жестком диске
  • создает новый файл по фамилии и записывает все переданные параметры в каждую строку в файле.
В качестве результата необходимо выдать html-страницу с указанием созданного файла. Если файл с именем в качестве фамилии уже существует, требуется отобразить html-страницу с ошибкой. Вариант 2. Создать сервлет, который:
  • в качестве параметра принимает имя картинки-файла, по которому, он должен открыть из заранее заданного каталога с картинками;
  • необходимо считать картинку в память выдать ее в качестве ответа на запрос. Если картинка с переданными именем файла не была найдена, требуется отобразить html-страницу с ошибкой.
4. Необходимо создать jsp-страницу, содержащую html-форму для отправки данных и параметров сервлетам в соответствии с заданным вариантом задания. Отчет о выполнении работы 1. Файлы исходного кода реализованной логики. Вопросы для самопроверки 1. В чем отличия Jsp и Servlets? 2. Для чего нужен этап жизненного цикла сервлета init? 3. Что произойдет, если удалить или не создать файл web.xml? Литература 1. http://www.tutorialspoint.com/jsp/jsp_form_processing.htm – Создание рабочих форм на Jsp. 2. http://orlova.rsue.ru/content/sst/j2ee2.htm – Разработка простейшей страницы JSP, использующей JSP-выражения 3. http://www.bsu.by/Cache/pdf/87983.pdf – книга сервлетам. 4. http://theopentutorials.com/examples/java-ee/servlet/how-to-create-a-servlet-with-eclipseand-tomcat/ – создание сервлетов с нуля. 5. http://www.redbooks.ibm.com/redbooks/pdfs/sg245755.pdf — книга по разработке servletтов

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

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

О сайте
Ссылка на первоисточник:
http://vucollege.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