Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
web-programmirovanie_uchebnoe_posobie.pdf
Скачиваний:
95
Добавлен:
09.02.2015
Размер:
4.9 Mб
Скачать

Учебное пособие по web-программированию (2013)

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

Беляев С.А., Романенко С.А.

Разработка web-приложений на языке Java

Санкт-Петербург

2013

-1-

Учебное пособие по web-программированию (2013)

Беляев С.А., Романенко С.А. Разработка web-приложений на языке Java

Спб.: Изд-во СпбГЭТУ «ЛЭТИ», 2013, 69 с.

Учебное пособие «Разработка web-приложений на языке Java» посвящено разработке веб-приложений на Java 1.6 на основании таких технологий как сервлеты, Java Server Pages (JSP) с использованием стандартных и настраиваемых тегов с учётом необходимости локализации приложений и работой с базами данных. Особенностью представленного материала является его небольшой объём, наличие наглядных примеров по всем темам курса, а

также большое количество ссылок на интернет-ресурсы, на которых можно получить дополнительную информацию по представленному материалу.

Учебное пособие применимо в дисциплине «Web-технологии», которая входит в учебные планы подготовки бакалавров по направлению 231000.62 -

«Программная инженерия», и в дисциплине «Разработка web-приложений»,

которая входит в учебные планы подготовки подготовки магистров по направлениям 231000.68 - «Программная инженерия», 231051.68 - «Разработка распределенных программных систем».

© Беляев С.А., Романенко С.А. © СпбГЭТУ «ЛЭТИ», 2013

-2-

Учебное пособие по web-программированию (2013)

Тема 1. Разработка простейших веб-приложений

Модель веб-клиента. Эволюция java-сервлетов. Принципы построения вебприложений. Пример построения простейшего приложения.

Виды приложений (рисунок 1.1):

Рисунок 1.1.

Существуют следующие виды архитектуры приложений: одноуровневые (слои доступа к данным, бизнес-логики и представления информации находятся в одном месте), двухуровневые (отделяется слой доступа к данным), трёхуровневые (все три уровня реализуются отдельно и независимо). В общем случае web-приложения являются трёхуровневыми.

Ключевые преимущества web-приложений по сравнению с настольными приложениями:

Проще доступ к информации

Проще поддержка и меньше стоимость распространения

Независимость от платформы

Широкая доступность

Взаимодействие с web-приложением осуществляется с использованием HTTP протокола (запрос и ответ сервера) — рисунок 1.2.

Рисунок 1.2.

HTTP-клиент, как и web-браузер, открывает HTTP-соединение. Порт — это канал, по которому передаётся информация (по умолчанию — 80). Пример: для получения картинок в HTML-странице отправляются отдельные HTTP запросы.

Структура HTTP-запроса: Строка запроса (URL):

http://ru.wikipedia.org/wiki/HTTP

Заголовок запроса:

-3-

Учебное пособие по web-программированию (2013)

GET /wiki/HTTP HTTP/1.1 Host: ru.wikipedia.org

User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509

Firefox/3.0b5

Accept: text/html Connection: close (пустая строка)

Структура HTTP-ответа: Строка состояния. Заголовок ответа:

HTTP/1.1 200 OK

Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache

X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT Content-Language: ru

Content-Type: text/html; charset=utf-8 Content-Length: 1234

Connection: close (пустая строка)

(далее следует запрошенная страница в HTML)

Параметры в HTTP-запросе в общем случае передаются с помощью webформ. Пример web-формы приведён на рисунке 1.3.

Рисунок 1.3.

Параметры HTTP-запроса могут передаваться с использованием метода GET или POST (рисунок 1.4). Обратите внимание, что в POST параметры не видны, а в GET параметры видны. При этом GET ограничено по длине, если в строке не поместится, то информация будет утеряна.

-4-

Учебное пособие по web-программированию (2013)

Рисунок 1.4.

Кроме преимуществ web-сервера имеют и свои ограничения:

Статические web-страницы разрабатываются дизайнерами

Динамические — изменяются клиентом

Web-сервер будет недоступен

во время перезагрузки

поддержки

большой загрузки

вирусы

атака червей

Разработка динамических web-страниц может осуществляться с использованием самых разных технологий. Первая и до сих пор используемая технология динамических web-страниц — CGI. При этом процесс обработки запроса выглядят, как приведено на рисунке 1.5.

Рисунок 1.5.

Недостатки CGI:

Низкая эффективность

При реализации на Perl интерпретатор при каждом запросе перезапускается

Сервлеты, разрабатываемые на языке Java, решают проблемы CGI (эффективность выше, можно обойтись одним процессом).

-5-

Учебное пособие по web-программированию (2013)

Преимущества и недостатки сервлетов:

Преимущества

Недостатки

 

 

Повышенная эффективноть —

Низкоуровневая HTML-документация

инициализируется один раз

 

 

 

Простота использования — Java + HTML

Сложности с управлением сессиями

 

 

Мощность Java

 

 

 

Переносимость за счет реализации на Java

 

 

 

Дешёвый и безопасный

 

 

 

Для работы сервлеты помещаются в web-контейнер (рисунок 1.6.)

Рисунок 1.6.

Дополнительную информацию можно узнать по адресу: http://www.tutorialspoint.com/servlets/servlets-overview.htm

Web-контейнеры помещаются в web-сервере. Состав папок контейнера может быть разным, но в общем случае в нём можно встретить classes, lib, tags и т. д. (рисунок 1.7.).

-6-

Учебное пособие по web-программированию (2013)

Рисунок 1.7.

Web-контейнеры развёртываются с использованием дескриптора развёртывания web.xml. Простейший формат web.xml приведён на рисунке 1.8. В данном примере заданы всего два параметра контейнера — таймаут сессии пользователя (30 минут) и файл index.jsp, который будет открываться, если пользователь явно не укажет, какую страницу в контейнере необходимо открыть.

Рисунок 1.8.

Компиляция web-проектов в общем случае осуществляется в war-архив. Существуют и используются на практике и другие форматы, например, ear, но в рамках данного курса мы остановимся на war-архивах, собираемых с использованием среды java-разработки NetBeans, которую можно скачать по адресу https://netbeans.org.

Если тестовый проект поместить в папку NetBeansProjects и назвать его WebApplication1, то стандартный war-файл будет создан в папке

.../NetBeansProjects/WebApplication1/dist/WebApplication1.war

Для развёртывания полученного war-файла его необходимо скопировать в папку webapps сервера Apache Tomcat (может быть установлен вместе с NetBeans или скачен отдельно по адресу http://tomcat.apache.org). Результат развёртывания приведён на рисунке 1.9.

-7-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]