По умолчанию все клиенты обращаются к одному созданному объекту сервлета.
Каждое обращение клиента к этому объекту создает отдельный поток, в котором обрабатываться запрос клиента используя этот объект.
Поэтому необходимо заботиться о потокобезопасности.
Чтобы для каждого запроса клиента создавался отдельный объект, а не производилась работа с одним в отдельных потоках можно наследовать SingleThreadModel
, но это не рекомендуется, SingleThreadModel
объявлен устаревшим (deprecated) вместо этого лучше использовать стандартные средства синхронизации изученные в прошлых уроках о многопоточности.
Пример программы:
Table of Contents
Что такое Filter в Java сервлетах
Фильтры (Filter) в Java сервлетах: выполняйте код до и после обработки запроса. Пример реализации интерфейса Filter для предварительной авторизации и логирования.
Time to read: 14
Слушатели (Listeners) в Java сервлетах
Разберитесь с Listeners в Java сервлетах: отслеживайте изменения атрибутов, сессий и контекста. Практический пример использования ServletContextAttributeListener.
Time to read: 15
Оптимизация сервлетов с AsyncContext
Используйте AsyncContext в Java сервлетах для асинхронной обработки задач. Узнайте, как избежать простоя потоков и повысить производительность веб-приложений с примерами кода.
Time to read: 11