
- •По курсу «Интернет-программирование»
- •Принципы построения интернет-приложений на Java
- •Сервлеты (Servlet) и jsp
- •Сервлеты
- •Синтаксис jsp-страницы
- •Комментарии
- •Директивы
- •Объявления
- •Выражения
- •Скриплеты
- •Объекты request, response, cookie, session
- •Загрузка файлов на сервер
- •Объект request
- •Объект response
- •Объект cookie
- •Объект session
- •Приложение 2
ЛАБОРАТОРНАЯ РАБОТА №7
По курсу «Интернет-программирование»
Интернет-программирование на Java
Цель работы.
Ознакомиться с технологиями сервлетов и JSP.
Приобретаемые компетенции:
Понимание принципов создания интернет-приложений c помощью сервлетов и JSP
Организация обмена данными между клиентом и сервером с помощью JSP
Принципы построения интернет-приложений на Java
Сервлеты (Servlet) и jsp
На Java реализованы две основные технологии для разработки приложений для Интернет: сервелеты (servlet) и JSP (Java Server Pages).
Сервлет представляет из себя приложение на java, которое упаковывается в файл с расширением war*, отправляется на сервер, распаковывается и исполняется. Таким образом для внесения изменений в приложение требуется пересобрать его целиком. *- WAR файл - это специализированный JAR файл, содержащий такие компоненты веб-приложения как сервлеты, JSP файлы, HTML файлы, дескрипторы развертывания, библиотеки классов и тому подобное.
JSP это набор текстовых страниц на сервере с расширением jsp, включающих смесь статического (HTML) и динамического (Java) кода, которые компилируются на сервере в сервлет(ы) и исполняются при первом запросе клиента. Таким образом, для внесения изменений в приложение требуется изменить только соответствующую страницу.
Отличия между технологиями сервлетов и JSP показаны на рис. 1. Как видно, JSP расширяют технологию сервлетов и по процессу исполнения подобны скриптовым языкам, например — PHP. Это позволяет обновлять приложение только по частям, обновляя соответствующую JSP страницу, а также иметь синтаксис, подобный синтаксису скриптовых языков. В JSP участки кода заключаются в теги <% %> подобно тому как в PHP программный код заключается в <? ?>. Использование такого подхода в JSP позволяет не писать вывод статического HTML кода в виде out.println(“<html>”); out.println(“title”); и т. д., что экономит время разработчика.
Работа сервлетов и JSP в архитектуре клиент-сервер осуществляется с помощью специального сервлет-контейнера, который взаимодействует с веб-сервером и предоставляет внутри сервлетов и JSP специальные объекты для работы с ним, наиболее часто используемыми из которых являются: request, response, session, cookie, headers т. к. для начала работы в архитектуре клиент сервер достаточно уметь:
получать данные от клиента (объект request)
отправлять данные клиенту (объект response)
поддерживать клиентскую сессию на сервере (объект session)
восстанавливать окружение клиента между сессиями на сервере (объект cookie)
возможность модифицировать заголовки (объект headers)
принимать файлы от клиента (пакет org.apache.commons.fileupload.* )
сохранять данные клиента на сервере в файлах (объект File) и базах данных (JDBC)
И сервлеты и JSP одинаково используют все объекты пунктов 1-7, поэтому достаточно рассмотреть их работу на примере одной из технологий. Проще это сделать для технологии JSP т. к. она не требует компиляции, загрузки и распаковки классов.
Для работы сервлетов и JSP требуются сервера с поддержкой работы с интерпретатором Java. Есть свободные (бесплатные) и коммерческие сервера. К свободным относятся: Apache Tomcat и Apache Geronimo. В IDE NetBeance есть встроенная возможность использовать сервер Apache Tomcat для разработки и тестирования сервлетов и JSP. При запуске из среды NetBeance ApacheTomcat работает на порту 8084.
Рис.1. Архитектура сервлетов и JSP