
- •JAVA-ТЕХНОЛОГИЯ
- •Средства Web-программирования в Java
- •Java Servlet API
- •Альтернативы сервлетам
- •Преимущества сервлетов
- •Контейнеры сервлетов
- •Жизненный цикл сервлета
- •Java Servlet API(1/2)
- •Java Servlet API(1/2)
- •Пример(1/4)
- •Пример(2/4)
- •Пример(3/4)
- •Пример(4/4)
- •Неудобство при использовании сервлетов
- •Java Server Pages (JSP)
- •Преимущества перед ASP
- •JSP-страница
- •Пример JSP-страницы
- •Запуск примера
- •Java Web Start
- •Структура файла .jnlp
- •Разработка Jаva Web Start- приложения
- •Java Web-сервисы
- •Распределенные приложения в Java Enterprise Edition
- •Распределенные приложения в JEE
- •Клиентские приложения в JEE
- •Взаимодействие JEE-клиентов
- •Поддержка Web-сервисов в JEE
- •JAX-RPC – механизм построения и использования Web-сервисов
- •Взаимодействие между JAX-RPC клиентом и Web-сервисом
- •Интерфейс HelloService
- •Его реализация HelloImpl
- •Конфигурационный файл для генерации Web-сервиса (config-interface.xml)
- •Генерация и использование Web- сервиса
- •Взаимодействие клиента и сервера в JAX-RPC
- •Web-сервисы в Java EE 6 (GlassFish 3.0)
- •Виды Web-сервисов в JEE 6
- •JAX-WS Web-сервисы
- •JAX-WS Web-сервисы
- •JAX-WS Web-сервисы
- •Пример JAX-WS клиента
- •Пример JAX-WS клиента
- •Использование JAX-RS аннотаций
- •Использование JAX-RS аннотаций
- •Использование аннотаций для методов запроса
- •Использование аннотаций для

JAVA-ТЕХНОЛОГИЯ
Сафонов Владимир Олегович
Профессор кафедры информатики, руководитель лаборатории Java- технологии (http://polyhimnie.math.spbu.ru/jtl)
Email: vosafonov@gmail.com
Лекция 18 Web-программирование в Java

Средства Web-программирования в Java
Апплеты – клиентские Web-приложения, запускаемые и используемые браузерами
Сервлеты – серверные Web-приложения, используемые для реализации Web-страниц и Web-сервисов
Java Server Pages (JSP)
Java Web Start, JNLP
Web-сервисы – современные серверные Web-приложения, удовлетворяющие стандартам WSDL, SOAP и совместимые с Web-сервисами, реализованными на
других платформах, например, в .NET
Поддержка технологии AJAX (Asynchronous JavaScript and XML) в Java
Технология JavaFX и язык JavaFX Script для разработки
полнофункциональных (rich) Web-приложений
(C)В.О. Сафонов. 2013

Java Servlet API
Сервлет – отвечающая спецификации Java Servlet API Java-программа, которая выполняется удаленно на сервере и вызов которой осуществляется удаленно из Web- браузера с помощью HTTP-протокола через Web-сервис
(C) В.О. 2Сафонов. 2013

Альтернативы сервлетам
Common Gateway Interface (CGI)- отдельный процесс для каждого запроса клиента; CGI-скрипты разрабатываются на языках Perl, C, C+ + и др.
Active Server Pages (ASP)- Microsoft;
динамическая генерация HTML- страниц на основе шаблонов, описываемых .asp - страницами
(C) В.О. Сафонов. 2013
3

Преимущества сервлетов
Платформно – независимы
Предоставляют полный доступ ко всем API языка Java
Более эффективны, чем CGI ,поскольку сервлеты порождают новые потоки (thread) для запросов, а не отдельные процессы
Контейнеры для популярных Web- серверов
(C) В.О. Сафонов. 2013
4

Контейнеры сервлетов
Servlet-контейнер - инструмент, отвечающий за выполнение сервлетов.
Servlets и JSP включены в спецификацию JEE
Реализованы в Java application – серверах различных компаний
(C) В.О. Сафонов. 2013
5

Жизненный цикл сервлета
Web-сервер получает HTTP-запрос от браузера пользователя и определяет, для какого сервлета он предназначен
Контейнер загружает класс и создает экземпляр объекта нужного сервлета
Контейнер вызывает метод init сервлета
Контейнер вызывает метод service, передавая ему объекты запроса и отклика
Выгрузка сервлета(C) В.О.6Сафоновиз памяти. 2013

Java Servlet API(1/2)
Пакет javax.servlet
Интерфейс Servlet
-void destroy()
-ServletConfig getServletConfig()
-String getServletInfo()
-void init (ServletConfig sc )
-void service(ServletRequest req, ServletResponse res)
(C) В.О. Сафонов. 2013
7

Java Servlet API(1/2)
Пакет javax.servlet.http:
-HttpServletRequest
-HttpServletResponse
-HttpSession
-HttpServlet
-Cookie
Подробнее: http://java.sun.com/products/servlet
(C) В.О. Сафонов. 2013
8

Пример(1/4)
Html-страница
<html>
<body>
<center>
<form action="MyServlet"> <b> Color: </b>
<select name="color" size="1"> <option value="Red">Red </option> <option value="Green">Green</option> <option value="Blue">Blue </option> </select>
<br><br>
<input type=submit value="Submit"> </form>
</body>
</html> (C) В.О. Сафонов. 2013
9