当然,没有必要做任何事情.如果您希望可以将Web应用程序构建为单个大型C函数CGI.
也就是说,EJB确实使Web应用程序开发变得更加容易.它们包含在Web ProfileJava EE 6 的超轻量级中并非毫无意义.
EJB本身不包含任何数据库API,但它与JPA集成得非常好.您可以注入EntityManager其中,并且必须自己启动和提交/回滚事务的要求消失.这大大简化了您的代码.
虽然您可以将DB相关代码(JPA或JDBC)直接放入Servlet甚至JSP页面,但这种做法通常不赞成.Servlet和JSP用于显示,任何业务或持久性逻辑都不属于那里.一个非常实际的原因是你不能调用JSP页面的中间来重用一些业务逻辑.
因此,保持业务逻辑分离是良好Web应用程序的主要优点,而EJB是Java EE中指定的bean.
有关其他信息,请参阅以下两个类似问题的答案:
有关EJB在Web应用程序体系结构中的作用: