Использование сценария может быть не столь проблематичным в небольших установках, но в больших проектах с несколькими сайтами.
Разделение кода пользовательского интерфейса и модели/бизнес-логики упрощает ремонтопригодность и позволяет повторно использовать код для проектов. Также изменение макета становится намного проще. Обычно это разделение выполняется с помощью компонентного компонента для доступа к репозиторию JCR и для предоставления данных и с помощью JSP только для представления.
Просто представьте, что ваш клиент требует большого изменения пользовательского интерфейса, возможно, на нескольких сайтах. Труднее изменить JSP, смешанные с скриптлетами и кодом пользовательского интерфейса, особенно если их у вас их много.
С точки зрения OO, используя JSP и скриптлеты, вы не можете использовать наследование и состав. Scriptlet не может быть абстрактным. Я испытал, что java beans легче отлаживать, а затем скриптлеты, особенно в случае исключения, а java beans можно упростить.