EJBS是否用于数据库支持的网站(所有人都可以访问)?
答案 0 :(得分:7)
当然,没有什么是必需。如果您希望可以将Web应用程序构建为CGI
后面的单个大型C函数。
也就是说,EJB确实使Web应用程序开发变得更加容易。它们包含在Java EE 6的超轻量级Web Profile
中并非毫无意义。
EJB本身不包含任何数据库API,但它与JPA集成得非常好。您可以在其中注入EntityManager
,并且必须自己启动和提交/回滚事务的要求消失。这大大简化了您的代码。
虽然您可以将DB相关代码(JPA或JDBC)直接放入Servlet甚至是JSP页面,但这种做法通常不赞成。 Servlet和JSP用于显示,任何业务或持久性逻辑都不属于那里。一个非常实际的原因是你不能调用JSP页面的中间来重用一些业务逻辑。
保持业务逻辑分离是优秀Web应用程序的主要优点,而EJB是Java EE中指定的bean。
有关其他信息,请参阅以下两个类似问题的答案:
关于EJB在Web应用程序架构的大局中的作用:
答案 1 :(得分:0)
EJB是框架结构(see here for a high level explanation)。
您可以在很多情况下使用它们,将业务逻辑等问题与数据存储等其他问题分开。 EJB的高调竞争者(对比)是Spring框架。
在回答您的问题时,不,它们不是网站和Web应用程序开发所必需的,尽管它们是一种方法。 Java中的其他Web开发方法是Servlets,JSP。
到目前为止,Servlet是最简单的代码。它的功能有限,但对于简单的网络应用程序来说,它是充足的。