Переполнением буфера не является Внедрение SQL.
Параметрические запросы гарантируют, что Вы в безопасности против Внедрения SQL. Они не гарантируют, что нет возможного использования в форме ошибок в Вашем SQL-сервере, но ничто не гарантирует это.
Вы можете сделать объект сериализуемым, используя сериализуемую реализацию списка и убедившись, что объекты в списке также сериализуемы.
Да, рекомендуется помещать в сеанс только сериализуемые объекты, поскольку это позволит вашему приложению работать на сервере с несколькими узлами. Даже если сейчас это вас не волнует, это может пригодиться в будущем.
Контейнер сервлета должен гарантировать, что сеансы не переключаются между пользователями. Создание объектов, хранящихся в сеансе, сериализуемыми, позволяет контейнеру «распределять» состояние сеанса по нескольким узлам в кластере, позволяя пользователю, которому принадлежит сеанс, обслуживать запросы любым узлом.
Требуется, чтобы они были сериализуемыми, потому что в спецификации сервлета сказано, что они должны быть сериализуемыми, если тег «распространяемый» находится в web.xml. В спецификации предполагается, что механизмы сервлетов будут реплицировать сеансы между службами с использованием сериализации.
Единственный способ сделать его сериализуемым - это ... использовать реализацию List, которая является сериализуемой! Вы должны были написать свой собственный класс List, поскольку все реализации в JDK сериализуемы, о которых я знаю. Либо это, либо объекты в списке не сериализуемы.
Или вы можете просто удалить «распространяемый», если вам все равно, будут ли ваши сеансы реплицированы на несколько серверов или нет.
Какие типы объектов содержит список? Т.е. какой общий тип списка? Это List
Все коллекции JDK сериализуемы , если их элементы сериализуемы . Я предполагаю, что это не сериализуемые элементы List , а не сам объект List. Чтобы (чрезмерно) упростить, для того, чтобы объект был сериализуемым, он должен: