Читайте также: |
|
В общем виде типичное 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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Мобильные агенты (Applets and other mobile code) | | | Гранулярность (granularity) |