Где хранить синглеты сервлета? - PullRequest
4 голосов
/ 24 ноября 2010

Если мой класс Servlet использует одноэлементный класс (например, класс менеджера), где он должен храниться? Сам сервлет или в ServletContext?

Может ли контейнер сервлета создать более одного экземпляра моего Servlet класса для обработки запросов?

Ответы [ 2 ]

7 голосов
/ 24 ноября 2010

Очевидно, что будет только один экземпляр сервлета .Но все же лучше хранить его в ServletContext.Таким образом, он будет доступен и для других сервлетов.

1 голос
/ 24 ноября 2010

Вы можете хранить его в основном где угодно;в сеансе, контексте приложения или как поле самого сервлета.Просто сделайте его неизменным, поскольку вы имеете дело с многопоточным окружением, и ваш сервлет будет вызываться несколько раз одновременно.

Редактировать : как указал Божо, использование сеанса можетЭто не лучший вариант, поэтому вы должны оценить свои потребности, прежде чем включать синглтон в сеанс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...