当前位置: 首页 > 面试题库 >

在什么情况下使用EJB?网站/ Web应用程序开发中是否需要它们?

郑博
2023-03-14
问题内容

EJBS是否在数据库支持的网站(所有人都可以访问)中使用?


问题答案:

当然,什么都不 需要 。如果您愿意,可以将Web应用程序构建为一个大型C函数CGI

话虽如此,EJB确实使Web应用程序开发变得容易得多。轻巧Web Profile的Java EE 6 中包含了它们。

EJB本身不包含任何数据库API,但是它与JPA集成得非常好。您可以EntityManager在其中注入,而自己必须启动和提交/回滚事务的需求就消失了。这大大简化了您的代码。

尽管您可以将与DB相关的代码(JPA或JDBC)直接放入Servlet甚至JSP页面,但这是普遍不赞成的做法。Servlet和JSP用于显示,并且任何业务或持久性逻辑都不属于此。这样做的一个非常实际的原因是,您无法调用JSP页面的中间部分来重用某些业务逻辑。

因此,保持业务逻辑分离是良好的Web应用程序的主要优点,而EJB是Java EE中指定的bean。



 类似资料:
  • 本文向大家介绍什么是 Java 序列化?什么情况下需要序列化?相关面试题,主要包含被问及什么是 Java 序列化?什么情况下需要序列化?时的应答技巧和注意事项,需要的朋友参考一下 Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。 以下情况需要使用 Java 序列化: 想把的内存中的对象状态保存到一个文件中或者数据库中时候; 想用套接字在网络上传送对象的时候; 想

  • 序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。 序列化是通过实现serializable接口,该接口没有需要实现的方法,implement Serializable只是为了标注该对象是可被序列化的,使用一个输出流(FileOutputStream)来构造一个ObjectOutputStream对象,接着使用ObjectOutputStream对象的writeO

  • 问题内容: 想象这样的情况: 现在,我从理论上担心,在哪里克隆状态(中的第四条语句),可能会发生我没有获得该状态的最新版本的情况- 由于先前调用的某些调用正在等待中,这是否是正确的假设? 现在,我的问题是,如果我以以下方式(基本上与回调参数一起使用)重写上述代码,它会更安全吗?(就不处于不同步状态而言)。 我是否还需要在内部采取一些其他措施(第二个重写版本)? ps。只是更改状态的函数-假设当用户

  • 问题内容: 因此,通过阅读一些文章,我得到的信息是能够实时修改字段并为类设置值,而无需重新编译。 所以有可能对没有源代码的第三方Java库创建的类执行此操作/是否可以在运行时使用反射来修改类实例? 在其他哪些情况下,通常还会使用反射? 我试图了解反射如何适用。 问题答案: 任何时候您在运行时处理字符串,并希望将该字符串的一部分视为语言中的标识符。 远程过程调用-将通过网络接收的消息的一部分视为方法

  • 本文向大家介绍什么是<!DOCTYPE >?是否需要在HTML5中使用?相关面试题,主要包含被问及什么是<!DOCTYPE >?是否需要在HTML5中使用?时的应答技巧和注意事项,需要的朋友参考一下 <!DOCTYPE>是关于页面写入了什么版本的HTML的指令。<!DOCTYPE>标记没有结束标记,它不区分大小写。 <!DOCTYPE>声明必须是HTML5文档中的第一行,在标记之前。如HTML 4

  • 问题内容: 我已经看到我们可以拥有复合键,其中主键由两个表的组合主键组成。 喜欢的人和书 但我想问的是,我们需要对编程语言进行硬编码 我的意思是可以,我可以有任意名称的单独列作为主键,然后我不必对其进行硬编码,并且可以像平常一样执行我的功能 问题答案: 在“新”应用程序中不应考虑使用组合键。过去,曾经有人认为“业务密钥”比“代理密钥”更好。 编辑:按照克里斯的要求,我正在扩大答案。 首先,我要说明