как tomcat как веб-контейнер обрабатывает 2 переменные - PullRequest
0 голосов
/ 27 мая 2010

я новичок. У меня есть вопрос, касающийся распорок 2 Framework и Tomcat. я знаю, что у каждого запроса есть свой поток, но мой вопрос в том, являются ли глобальные переменные, определенные в действии Struts, общими для запросов. Например: если у меня есть глобальная переменная с именем скажем int pageNo; и я использую, скажем, метод под названием paginationAll () Могу ли я использовать ту же переменную (pageNo) для другого метода, называемого скажем paginatonMaterialAll (), в том же действии, или каждый поток имеет свой собственный набор переменных, даже если он определен глобально?

Ответы [ 3 ]

1 голос
/ 27 мая 2010

Глобальные переменные общего доступа не кажутся мне безопасными. Я бы переосмыслил этот дизайн.

1 голос
/ 27 мая 2010

В Struts 1 нежелательно иметь глобальные переменные / поля в ваших классах действий - они были распределены между всеми запросами.

Однако в Struts 2 Я считаю, что это изменилось - теперь действия создаются для каждого запроса.

См:

http://struts.apache.org/2.0.14/docs/comparing-struts-1-and-2.html

Struts 2 Объекты Action создаются для каждого запроса, поэтому нет проблем с безопасностью потоков. (В практика, контейнеры сервлета генерируют много одноразовых объектов по запросу, и еще один объект не накладывает снижение производительности или влияние мусора сбор.)

0 голосов
/ 27 мая 2010

Ваш вопрос не очень понятен, но он помогает: в Struts2 для каждого запроса создается новый экземпляр объекта Action.

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