Есть ряд отличий.
Во-первых, когда вы сохраняете что-то в качестве атрибута, оно сохраняется как объект, поэтому его нужно преобразовывать в то, чем оно является на самом деле, когда вы его извлекаете, бин всегда является тем классом, которым он является.
Во-вторых, когда вы используете боб, вам не нужно беспокоиться о том, создан он или нет. Тег jsp: useBean будет обращаться к бину, если он уже был создан, и создавать его, если он не был создан, поэтому, если вы хотите вызвать функцию или использовать метод get, вам гарантированно, что он существует при использовании бина. Если вы планируете сохранить его в переменной сеанса, но попытаетесь получить к нему доступ, прежде чем сохранить его, он вернет значение null, а вызов функции вызовет некоторые проблемы.
Обычно вы используете переменную сеанса для передачи информации, в то время как вы используете бины для передачи классов, у которых есть функции, которые вы, возможно, захотите вызвать.
Так что, если вы планируете передавать относительно простые данные (например, строки), нет ничего плохого в том, чтобы добавить их в переменную сеанса. В качестве значения имеет значение null, просто будьте осторожны при сравнении (например, делайте string_var.equals ((String) session.getAttribute ("attribute_name")) not ((String) session.getAttribute ("attribute_name"))). equals (string_var ) в качестве второго может быть null.equals (), который не определен).
Если вы программируете в среде MVC, то (насколько я понимаю) вы обычно используете bean-компоненты для записи в сессионную (или другую, в зависимости от ситуации) переменную, тогда ваша страница JSP загрузит информацию из переменная сеанса. Это (среди прочего) делает веб-страницу безопасной для обновления (то есть, если вы нажмете кнопку обновления, она просто снова получит информацию из переменной сеанса вместо того, чтобы снова выполнять весь код и перезагружать информацию из переменной сеанса), что это большая проблема, когда вы добавляете информацию, увеличиваете или уменьшаете ее.
Правда, я относительно новичок в JSP, но это мое понимание ситуации.