2015-03-27 3 views
0

Я работаю над системой управления рабочими процессами.Какая лучшая переменная должна использоваться в операции сервлета

Имейте один класс saperate java, который содержит логический метод. Одна из этого

public static in get_nxt_stg(int current_stg,int action) 
{ 
} 

и определить статическую переменную cur_stg и nxt_stg. используется в сервлете. вызовите этот метод.

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

Каков наилучший способ использования переменной в сервлете, которая остается конкретной для этого запроса?

+2

Используйте только локальные переменные. Они не будут разделяться различными запросами. – Kayaman

ответ

0

Вы не должны использовать статику таким образом. Если вам нужно разделить состояние, подумайте об использовании шаблона singleton; но старайтесь избегать статики. Неразумное использование «статического» может превратиться в кошмар (например, относительно модульного тестирования).

Кроме того: кажется, что вы новичок с языком Java. Но создание сервлетов - определенно «продвинутая» тема Java. Я действительно рекомендую вам больше узнать о Java как подготовке к работе с сервлетами. В противном случае у пользователя вашего сервера может быть много неприятных впечатлений ...

0

Что вы делаете неправильно. Вы должны использовать сервлеты только для чтения параметров запроса и отправки ответов. То, что вы пытаетесь сделать, должно быть реализовано на уровне бизнеса вашего приложения, и если вы его реализовали с помощью EJB, то ваша проблема может быть легко решена с помощью Stateful EJB.

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