Ничего не требуется требуется конечно.Если бы вы хотели, вы могли бы создать веб-приложение в виде одной большой C-функции, стоящей за CGI
.
Тем не менее, EJB-компоненты действительно облегчают разработку веб-приложений.Недаром они включены в сверхлегкий Web Profile
Java EE 6.
EJB не содержит никаких собственных API-интерфейсов баз данных, но он очень хорошо интегрируется с JPA.Вы можете вставить EntityManager
в него, и требование о необходимости запуска и фиксации / отката транзакций самостоятельно исчезает.Это значительно упрощает ваш код.
Несмотря на то, что вы можете поместить связанный с БД код (JPA или JDBC) непосредственно в свои сервлеты или даже страницы JSP, эта практика обычно не одобряется.Сервлеты и JSP предназначены для отображения, и любая бизнес-логика или логика персистентности просто не существует.Очень практическая причина этого заключается в том, что вы не можете обратиться к середине страницы JSP, чтобы повторно использовать какую-то часть бизнес-логики.
Таким образом, разделение вашей бизнес-логики - главное достоинство хороших веб-приложений.и EJB являются назначенными bean-компонентами для этого в Java EE.
Для получения дополнительной информации см. эти два ответа на похожие вопросы:
Для роли EJB в общей картине архитектуры вашего веб-приложения: