Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
201
Добавлен:
17.04.2018
Размер:
684.54 Кб
Скачать

Интернет-программирование

МИЭТ, 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, могут быть собраны в пакеты.

Соседние файлы в папке Интернет технологии