2012-02-28 2 views
0

Возможно ли иметь карту, доступную для всех сервлетов на веб-сервере?Данные, доступные из всех сервлетов

Могу ли я сделать что-то такое же простое, как расширение сервлета из всего сервлета, у которого есть статическая карта?

Я просто хочу, чтобы сервлет выполнял поиск, заполнял структуру карты и с этой точки на всех сервлетах мог ее прочитать.

ответ

1

Вы имеете в виду, как Session Variables?

+0

Вероятно, лучше, чем все экземпляры сервлета, имеющие доступ к нему ... спасибо –

0

Сервлеты arent по сути потокобезопасны, поэтому будьте осторожны с использованием статических переменных. Если вы никогда не собираетесь изменять эти переменные, то, если они являются CONSTANTS, то использование статических переменных в порядке.

Рассмотрите возможность использования переменных сеанса, как предложено выше, но это зависит от того, вызываются ли все ваши сервлеты в течение одного сеанса.

Вы также можете создать кэш приложений и использовать данные из него.

+0

Будут ли проблемы с множественным доступом, такие как условия гонки, если я использую переменные сеанса? –

+0

@doubter Возможно только при создании нескольких потоков для одного и того же сеанса (т. Е. Пользователя) - и не очень вероятно. – Marcelo

Смежные вопросы