Для некоторых классов, особенно те, которые представляют что-то более физическое как Файл, Сокет, Поток или соединение с БД, не имеет абсолютно никакого смысла сериализировать экземпляры. Для многих других Сериализация может быть проблематичной, потому что она уничтожает ограничения уникальности или просто вынуждает Вас иметь дело с экземплярами различных версий класса, который Вы не можете хотеть.
Возможно, возможно, было лучше сделать все сериализуемым по умолчанию и сделать классы несериализуемыми через ключевое слово или интерфейс маркера - но тогда, те, кто должен использовать ту опцию, вероятно, не думали бы об этом. Путем это, если необходимо реализовать сериализуемый, Вам скажет так Исключение.
Какой контейнер сервлетов вы используете? Документы для getHeader (String)
state:
Имя заголовка не чувствительно к регистру.
так что это похоже на ошибку в используемом вами контейнере.