
- •Интернет-программирование
- •ИП. Сервлеты и JSP
- •ИП. Сервлеты и JSP
- •ИП. Сервлеты и JSP
- •ИП. Сервлеты и JSP. Отличия в работе
- •ИП. Сервлеты и JSP. Сервлет-контейнеры
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура приложения
- •ИП. Сервлеты и JSP. Структура сервлетов
- •ИП. Сервлеты и JSP. Структура сервлетов
- •ИП. Сервлеты и JSP. Стуктура сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов. Жизненный цикл
- •ИП. Сервлеты и JSP. Работа сервлетов.
- •ИП. Сервлеты и JSP. Работа сервлетов.
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов
- •ИП. Сервлеты и JSP. Работа сервлетов. Пример web.xml файлаМИЭТ, 2017
- •ИП. Сервлеты и JSP. Идея JSP
- •ИП. Сервлеты и JSP. Архитектура приложения JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP. Атрибуты директив
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Cинтаксис JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP. Компоненты JSP
- •ИП. Сервлеты и JSP.
- •ИП. Сервлеты и JSP. Выбор инструментария.
- •ИП. Сервлеты и JSP. Выбор инструментария.
- •ИП. Сервлеты и JSP. Выбор инструментария.
- •ИП. Сервлеты и JSP. Выбор инструментария.
- •ИП. Сервлеты и JSP. Выбор инструментария.
- •ИП. Сервлеты и JSP. Выбор инструментария.
Интернет-программирование |
МИЭТ, 2017 |
Лекция 12
Сервлеты и JSP

ИП. Сервлеты и JSP |
МИЭТ, 2017 |
Сервлеты и JSP используют технологию CGI
CGI — это интерфейс взаимодействия веб-приложения и веб-сервера. Веб приложение состоит из программ (скриптов), выполняемых на сервере.
Пользователь Данные Заголовки GET/POST URL
(браузер)
HTTP ответ, данные
CGI
Переменные окружения
URL
Заголовки
Web-приложение stdin Данные
stdout HTTP-ответ
Интернет
Web-server
ИП. Сервлеты и JSP |
МИЭТ, 2017 |
Определение сервлета
Servlet (сервлет) — это Java-класс, предназначенный для расширения HTTP (веб) сервера.
Необходимые интерфейсы находятся в пакетах: javax.servlet
javax.servlet.http
Java Servlet API — часть Java EE (Enterprise edition) Актуальная версия - Servlet 3.1 2013 г.
Сервлеты могут работать по любым протоколам
Сервлет является скомпилированным байт-кодом Java. Поэтому для внесения изменений в приложение, требуется Перекомпилировать сервлет и загрузить его на сервер.
ИП. Сервлеты и JSP |
МИЭТ, 2017 |
Определение JSP
JSP — это технология Java, позволяющая исполнять разрабатывать интернет-ресурсы в стиле скриптовых страниц, подобных PHP.
При первом обращении к такой страницы она автоматически компилируется в сервлет и исполняется.
Компиляция производится при каждом вызове страницы, если она была изменена иначе берется откомпилированная страница (т.е. сервлет)

ИП. Сервлеты и JSP. Отличия в работе |
МИЭТ, 2017 |
Servlet
Сервер
Разработчик |
Сервлет-контейнер |
Клиент |
|
*.war |
Байт-код |
HTTPServletRequest |
HTTPRequest |
|
Код Java |
Браузер |
||||
|
|
||||
(файлы *.java) |
|
(файлы *.class) |
HTTPServletResponse |
HTTPResponse |
|
|
|
||||
|
|
|
JSP |
|
|
|
|
Сервер |
|
|
|
Сервлет-контейнер |
|
Клиент |
|
Байт-код |
HTTPServletRequest |
HTTPRequest |
|
|
||
|
|
Браузер |
|
|
(файлы *.class) |
|
|
|
|
HTTPResponse |
|
|
HTTPServletResponse |
||
|
Код Java |
|
|
|
(файлы *.java) |
|
|
Разработчик |
Транслятор |
|
|
|
|
|
|
|
Jasper |
|
|
Среда |
Код JSP |
|
|
разработки |
(файлы *.jsp) |
|
|
|
|
|
ИП. Сервлеты и JSP. Сервлет-контейнеры |
МИЭТ, 2017 |
Сервлет-контейнер
Сервлет-контейнер предназначен для выполнения класса сервлета в контексте веб-сервера
Свободные (некоммерческие)
Apache Tomcat (бывш. Jakarta Tomcat)
Apache Geronimo
Glassfish (Sun microsystems, opensource)
Коммерческие
Java System web-server/Application server (Sun microsystems)
IBM Websphere (IBM)
Oracle Application server (Oracle)
JRun (Adobe)
WebObjects (Apple)
Borland Enterprise Server (Borland)
BEA WebLogic (BEA Systems)
JBoss (Red Hat, opensource)
ИП. Сервлеты и JSP. Структура приложения |
МИЭТ, 2017 |
Интернет-приложение должно включать:
Основную (базовую)директорию (имя директории является именем приложения)
WEB-INF директорию
web.xml файл конфигурации (Deployment Descriptor - дескриптор развертывания)
Интернет-приложение может включать:
Servlets (размещенные в папке WEB-INF\classes)
JSP файлы
HTML, JS, CSS и т.д.
Файлы картинок и файлы других типов: doc,
Библиотеки классов (jar-файлы) (обычо в директории WEB- INF\lib)
ИП. Сервлеты и JSP. Структура приложения |
МИЭТ, 2017 |
Базовая структура веб-приложения должна включать:
корневую директорию
WEB-INF директорию (внутри базовой)
дескриптор развертывания web.xml (внутри WEB-INF)
Название корневой директории будет частью URL, указывающего на один из содержащихся ресурсов, и используемый в качестве имени приложения.
Например, вызов index.jsp файла, расположенного в корне каталога websample, может быть сделан как:
http://localhost:8080/websample/index.jsp
ИП. Сервлеты и JSP. Структура приложения |
МИЭТ, 2017 |
web.xml - конфигурационный файл используется для:
Объявление классов servlet и JSPs
Отображения servlets и JSPs в URL шаблоны
Определения welcom-страниц
Установления безопасности содержимого, ролей и методов аутентификации
ИП. Сервлеты и JSP. Структура приложения |
МИЭТ, 2017 |
Исполняемые классы приложения, должны быть расположены в папке WEB-INF\CLASSES:
Servlets
Java Beans (используются в JSP)
Tag libraries classes (используются в JSP)
Helper classes
Все классы, расположенные в директории classes, могут быть собраны в пакеты.