Сервлет

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Java Servlet API — стандартизований API для створення динамічного контенту до веб-сервера, використовуючи платформу Java. Сервлети — аналог технологій PHP, CGI і ASP.NET. Сервлет може зберігати інформацію між багатьма транзакціями, використовуючи HTTP кукіз, сесії або через редагування URL.

Servlet API, що міститься в пакеті javax.servlet, описує взаємодію веб-контейнера і сервлета. Веб-контейнер — це компонент веб-сервера, що створений для взаємодії з сервлетами. Він відповідає за управління життєвим циклом сервлетів, перетворення URL у певний сервлет та забезпечення того, щоб клієнт, який зробив URL запит, має відповідні права доступу.

Стандарти та специфікації[ред.ред. код]

Сервлети, інтерфейси та базові класи, протоколи роботи з ними, робоче оточення, описуються у відповідних специфікаціях компанії Sun Microsystems.

Для полегшення розробки HTTP сервлетів, у специфікації описано абстрактний клас HttpServlet, від якого розробникам пропонується успадковувати свої сервлети.

Схема роботи та застосування[ред.ред. код]

  1. Клієнт (наприклад, Веб-оглядач), відвідує веб-сторінку та надсилає HTTP запит на сервер.
  2. Web-сервер отримує запит та передає його контейнеру сервлетів. Контейнер сервлетів може виконуватись в тому ж самому процесі, що і веб-сервер, в окремому процесі на тій же системі, що і веб-сервер, або взагалі в окремому процесі на іншій системі.
  3. Контейнер сервлетів з'ясовує який сервлет слід викликати, виходячи з інформації про конфігурацію утримуваних сервлетів, та викликає його, передаючи в якості параметрів об'єктні представлення запиту та відповіді.
  4. Сервлет використовує об'єкт запиту для отримання інформації про віддаленого користувача, параметри HTTP запиту тощо. Сервлет виконує запрограмовані в ньому дії та надсилає результати роботи через об'єкт відповіді.
  5. Після того, як сервлет припиняє обробку запиту, контейнер сервлетів перевіряє коректність відправки відповіді, та повертає управління до головного веб-сервера.

Сервлети, також, використовуються в технології JSP. Шаблони сторінок транслюються у вихідні тексти Java-класів успадкованих від стандартних класів сервлетів. Java-компілятор компілює ці вихідні тексти в Java-байт коди. Отримані скомпільовані класи можуть використовуватись в сервлет-контейнері. Як правило, сервлет-контейнери виконують усі ці допоміжні дії автоматично.

Джерела інформації[ред.ред. код]

  • Java™ Servlet Specification, Version 2.4 [1].

Див. також[ред.ред. код]

Посилання[ред.ред. код]