setAttribute: несериализуемый атрибут (Сериализация объекта Java)

Переполнением буфера не является Внедрение SQL.

Параметрические запросы гарантируют, что Вы в безопасности против Внедрения SQL. Они не гарантируют, что нет возможного использования в форме ошибок в Вашем SQL-сервере, но ничто не гарантирует это.

5
задан Omnipresent 2 November 2009 в 16:57
поделиться

4 ответа

Вы можете сделать объект сериализуемым, используя сериализуемую реализацию списка и убедившись, что объекты в списке также сериализуемы.

Да, рекомендуется помещать в сеанс только сериализуемые объекты, поскольку это позволит вашему приложению работать на сервере с несколькими узлами. Даже если сейчас это вас не волнует, это может пригодиться в будущем.

Контейнер сервлета должен гарантировать, что сеансы не переключаются между пользователями. Создание объектов, хранящихся в сеансе, сериализуемыми, позволяет контейнеру «распределять» состояние сеанса по нескольким узлам в кластере, позволяя пользователю, которому принадлежит сеанс, обслуживать запросы любым узлом.

10
ответ дан 18 December 2019 в 14:48
поделиться

Требуется, чтобы они были сериализуемыми, потому что в спецификации сервлета сказано, что они должны быть сериализуемыми, если тег «распространяемый» находится в web.xml. В спецификации предполагается, что механизмы сервлетов будут реплицировать сеансы между службами с использованием сериализации.

Единственный способ сделать его сериализуемым - это ... использовать реализацию List, которая является сериализуемой! Вы должны были написать свой собственный класс List, поскольку все реализации в JDK сериализуемы, о которых я знаю. Либо это, либо объекты в списке не сериализуемы.

Или вы можете просто удалить «распространяемый», если вам все равно, будут ли ваши сеансы реплицированы на несколько серверов или нет.

3
ответ дан 18 December 2019 в 14:48
поделиться

Какие типы объектов содержит список? Т.е. какой общий тип списка? Это List или List , где Question - это доморощенный класс javabean? В последнем случае необходимо разрешить ему реализовать java.io.Serializable . Вот и все. Это также требует от вас спецификация javabean.

0
ответ дан 18 December 2019 в 14:48
поделиться

Все коллекции JDK сериализуемы , если их элементы сериализуемы . Я предполагаю, что это не сериализуемые элементы List , а не сам объект List. Чтобы (чрезмерно) упростить, для того, чтобы объект был сериализуемым, он должен:

  • Реализовать Serializable
  • Только иметь нестатические непереходные поля, которые также сериализуемы
0
ответ дан 18 December 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: