Сервлет

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

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

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

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

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

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

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

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

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

Література[ред. | ред. код]

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

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