TGViewer
Библиотека Java разработчика Библиотека Java разработчика @bookjava · 10K subscribers
Post #2942 2.35K
Можно ли хранить данные в сервлете?

По спецификации наследник интерфейса Servlet реализует распределяемое (distributable) web-приложение. Значит, при необходимости, очередь поступающих запросов может быть разделена между несколькими экземплярами сервлета, возможно даже размещенными на отдельных серверах внутри кластера.

Чтобы обеспечить серверам приложений такую возможность, на сервлет накладывается ряд ограничений. Одно из них – сервлет не должен хранить пользовательское состояние в своих полях.

На практике, иногда бывает полезно хранить внутреннюю служебную информацию в сервлете. Тогда, кроме вероятности масштабирования, еще следует помнить о многопоточности сервлетов. Разные запросы обрабатываются в разных тредах, и доступ к полям должен быть синхронизирован.

Для хранения данных между запросами существует специальный объект – сессия (класс HttpSession). Если будет принято решение масштабировать сервер, произойдет репликация сессии. При репликации все актуальные данные сессии переносятся на другие сервера кластера в сериализованном виде. Отсюда другое требование – данные в сессии должны быть сериализуемыми.

👉@BookJava
  • 👍 7
  • 🔥 1
More from @bookjava
  1. Oct 8, 2026📌 Обход коллекций в Java: делаем правильно! Часто вижу, как разработчики по привычке испо…
  2. Oct 7, 2026📌 Stream API: забудьте про peek() Метод peek() в Java Stream API выглядит удобным для отл…
  3. Oct 5, 2026🧠 Dependency Inversion Principle (D в SOLID) Зависимости должны идти от высокоуровневой п…
  4. Sep 30, 2026Три похожих слова в Java — final, finally, finalize — но смысл у них совершенно разный. Ра…
  5. Sep 27, 2026🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking К…
  6. Sep 23, 2026Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкци…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →