Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Введение в Web-приложения и сервлеты

Читайте также:
  1. II. Введение в нервную систему
  2. А. Введение
  3. Введение (Вход) во храм Пресвятой Владычицы нашей Богородицы и Приснодевы Марии
  4. Введение в Adobe Illustrator.
  5. Введение в Rational Unified Process
  6. Введение в UML. Краткая историческая справка. Диаграммы классов, диаграммы последовательностей.

В общем виде типичное web-приложение представляет собой набор из следующих программных компонент:

При этом под Web-сервером в случае с Java web-приложением обычно подразумевают как непосредственно сам web-сервер, т.е. сервер, принимающий запросы по текстовому протоколу HTTP. В простейшем случае сервер HTTP можно себе представить как процесс-демон ожидающий входящих соединений по протоколу HTTP на указанном порту (обычно по умолчанию используют 80 порт). Приняв соединение, сервер ожидает входящей команды, которая в самом примитивном случае может выглядеть следующим образом:

GET /

Получив эту команду, сервер считывает из локальной файловой системы файл по умолчанию (обычно это index.html) и записывает его в установленное соединение как поток символов. (Следует заметить что это не является в общем случае потоком байт, так как может использоваться и много-байтовая кодировка, вообще говоря, протокол HTTP поддерживает работу в различных кодировках, таким образом достигается возможность публиковать документы на различных языках в различных кодировках; для достижения этого эффекта используются, так называемые, HTTP header’ы или заголовки, в которых сервер указывает кодировку документа)

В технологии Java, web-сервер передаёт полученный запрос на обслуживание сервлету, при этом оборачивая входящий запрос, заголовки и параметры в объектную форму в виде интерфейса HttpRequest. В свою очередь, сервлет генерирует ответ используя предоставленный контейнером интерфейс HttpResponse, который служит обёрткой над нижележащим соединением с клиентским браузером. Вообще говоря, сервлет в простом случае может быть представлен реализацией интерфейса HttpServlet.

Public class MyServlet extends HttpServlet{

public void init() throws ServletException{

}

public void destroy(){

}

public void service(HttpRequest request, HttpResponse response) throws ServletException{

}

}

Основная логика сервлета сосредоточена в методе service().

 

Рисунок 2. Типичная архитектура web-приложения

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

 

Под статическими ресурсами подразумевается статическое содержимое web-сайта, например: картинки и статические страницы.

Под динамическими ресурсами обычно подразумевают динамически формируемые страницы, т.е. страницы, содержимое которых зависит от конкретного запроса, состояния каких либо данных (например, в БД).

 

Статические ресурсы удобно располагать в файловой системе web-сервера, в то время как динамические ресурсы, по определению, не могут располагаться где либо и должны формироваться «на лету», например, сервлетами. Аналогичными технологиями, позволяющими формировать динамическое содержимое web-сайта являются страницы ASP, ASP.Net, скрипты CGI (написанные, например на Perl или C) или страницы PHP.

 


Дата добавления: 2015-10-24; просмотров: 173 | Нарушение авторских прав


Читайте в этой же книге: Введение в UML. Краткая историческая справка. Диаграммы классов, диаграммы последовательностей. | Лекция 2. Основные определения ООП. | Factory Method | Abstract Factory | Template Method | Структурные шаблоны | Аспектно-Ориентированное Программирование (Aspect Oriented Programming, AOP) | Подходы к межсистемной интеграции | Интеграция с помощью разделяемой базы данных | Каналы и Фильтры |
<== предыдущая страница | следующая страница ==>
Мобильные агенты (Applets and other mobile code)| Гранулярность (granularity)

mybiblioteka.su - 2015-2024 год. (0.01 сек.)