Содержание
- 2. Содержание лекции Ключевые вопросы организации веб-сервера Понятие веб-сервера и его функции Протокол HTTP Аутентификация и авторизация
- 3. 1.1 Понятие веб-сервера и его функции Веб-сервер – это программное обеспечение, обеспечивающее доставку контента конечному пользователю
- 4. Функции и особенности веб-серверов: передача контента пользователю; получение контента от пользователей; поддержка динамически генерируемых страниц; аутентификация
- 5. Реализации веб-серверов: исторически первым считается веб-сервер CERN httpd (1991 год) java: Apache Tomcat Jetty другие: Apache
- 6. 1.2 Протокол HTTP HyperText Transfer Protocol - текстовый протокол передачи данных прикладного уровня Текущая версия –
- 7. HTTP-пакет состоит из: Стартовая строка GET /page.php HTTP/1.1 – запрос HTTP/1.1 404 Not Found – ответ
- 9. 1. 3 Аутентификация и авторизация пользователей Basic access authentication - логин и пароль кодируются с помощью
- 10. 1. 4 Управление сессиями и Cookies Веб-приложению бывает необходимо контролировать передвижения клиентов по сайту. HTTP не
- 11. 1.5 Постоянное HTTP-соединение Протокол HTTP поддерживает возможность отправки нескольких запросов веб-серверу сразу, не создавая при этом
- 12. Преимущества постоянного соединения: меньшая нагрузка на память, сеть и процессор, т.к. создаётся меньше TCP-соединений возможность отправки
- 13. 2. Apache Tomcat 6 Apache Tomcat 6 является одним из наиболее популярных Web-серверов, реализующих спецификацию JEE
- 14. Web Connector Coyote, реализующий протокол HTTP/1.1, с помощью которого пользователь, используя Интернет-браузер, может отправлять запросы к
- 15. 2.1 Структура каталогов сервера /bin/ - скрипты запуска, остановки и пр. /startup.bat (startup.sh) – запуск /shutdown.bat
- 16. 2.2 Структура J2EE веб-приложения
- 17. 2.3 Введение в сервлеты Сервлет – Java-класс, наследуемый от javax.servlet.http.HttpServlet: doGet(), обработка http-метода GET doPost(), обработка
- 18. Жизненный цикл сервлета состоит из следующих шагов: В случае отсутствия сервлета в контейнере. Класс сервлета загружается
- 19. Жизненный цикл сервлета:
- 20. Пример сервлета: public class SimpleServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws
- 21. 2.4 Основные классы Servlet API (javax.servlet.http.*) HttpServletRequest – класс, экземпляры кот. представляют запрос от браузера String
- 22. 2.5 Использование Comet Servlet Comet - модель работы веб-приложения, при которой постоянное HTTP-соединение позволяет веб-серверу отправлять
- 23. Сравнение классического подхода к построению веб-приложений с Comet Классический подход Comet подход (он же long polling)
- 24. Для использования Comet сервлет должен реализовать интерфейс org.apache.catalina.CometProcessor с единственным методом event(CometEvent event), вызываемым при поступлении
- 25. Клиентский код для соединения с Comet сервлетом: function go(){ var url = "http://localhost:8080/CometServlet" var request =
- 26. Клиентский код для соединения с Streaming сервлетом: На страницу вставляется скрытый iframe, загружающий данные с Streaming
- 27. 2.6 JSP – Java Server Pages Жизненный цикл 1. Жизненный цикл класса страницы 2. Жизненный цикл
- 28. import java.util.*; public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase { // Объявляется поле в классе страницы int
- 29. 3. Конфигурация веб-приложения Глобальные файлы конфигурации: Конфигурационный файл сервера conf/server.xml Дескриптор развёртывания web-приложения по-умолчанию conf/web.xml Относящиеся
- 30. 3.1 Дескриптор контекста web-приложения context.xml Контекст web-приложения – это совокупность следующих параметров URL: Виртуальное имя хоста
- 31. … … … … Resource – подключение ресурсов, например, исчтоников данных (БД) Valve – подключение фильтров,
- 32. Настройка источника данных (подключение к БД): Файл /META-INF/context.xml driverClassName="oracle.jdbc.driver.OracleDriver maxActive="20" maxIdle="10" maxWait="-1" name="jdbc/sample" url="jdbc:oracle:thin:@:1521:spm" username="o50" password="o50"
- 33. 3.2 Дескриптор развёртывания web-приложения web.xml Веб-приложения Java используют файл дескриптора развертывания для определения способа сопоставления URL
- 34. Сервлеты и пути URL SendEmailService mycompany. SendEmailServlet AbcServlet mycompany.AbcServlet SendEmailService /SendEmail AbcServlet /*.abc
- 35. Безопасность и аутентификация SecurePages /admin/* GET POST Only authenticated users may pass admin Administrator role admin
- 36. Список приветственных файлов index.jsp index.html Обработчики ошибок 500 /errors/servererror.jsp Кодировка и локаль ru UTF-8 Время жизни
- 37. Контрольные вопросы Из каких частей состоит HTTP-пакет? Что такое Cookies? Как реализовано управление сессией с помощью
- 38. Практика Написать веб-приложение, которое по GET-запросу http://localhost:8082/app/sum?a=3&b=4 выводит на страницу сумму a и b. Создать сервлет
- 40. Скачать презентацию