Сервлеты должны быть неизменными.Либо не существует состояния вне вызовов методов (сервлет не имеет состояния), либо любое такое состояние никогда не изменится (поэтому состояние, которое видит каждый поток, всегда одинаково).
Очень просто написать потокобезопасный сервлет: никогда использовать переменные экземпляра.Используйте локальные переменные метода.