【问题标题】:Why is EJB remotely accessible and Servlet not为什么 EJB 可以远程访问而 Servlet 不能
【发布时间】:2014-11-21 21:31:00
【问题描述】:

我试图理解 EJB 和 Servlet 之间的区别(我知道两者在概念上是不同的,EJB 是一段带有一些规则的 Java 代码,而 Servlet 是接受和处理 HTTP 请求的东西)但我发现其中一个两者的区别还在于:

Ejbs 允许远程访问。 Servlet/jsp 不允许远程访问

我不明白上面的区别。为什么可以远程访问 EJB 而 Servlet 不能。

【问题讨论】:

    标签: java servlets ejb


    【解决方案1】:

    Servlet 响应 http 请求(通常)注意 JSP 被转换为 servler。 EJB 完全不同,EJB 定义了您的业务模型。 您似乎对什么是远程访问感到困惑,这意味着您可以将 EJB 部署在运行在不同 JVM 中的不同服务器中,并且您的 servlet 可以访问它。 另一方面,您可以拥有在同一台服务器上运行的本地 EJB,与您的 webapp 的其余部分以及与您的 servlet 和 jsps 相同的 JVM 中运行。根据你的 EJB 是本地的还是远程的,实现在一些小方面有所不同(在远程 EJB 中你需要创建一个接口和其他东西,我不会详细介绍,我会添加一个有关此的链接)。

    如果您想了解 servlet、jsps 和 ebjs 之间的区别,您应该了解 MVC(模型视图控制器)是什么。通常,控制器由 servlet 定义,它们接收来自客户端的 http 请求并委托它们在 EJB 和 JSP 中执行的操作。视图由 JSP 定义(我假设您已经了解它们是什么)。 EJB 是模型,它们定义您的业务模型,它们不提供 http 请求,它们只是对您的“模型”执行简单的操作,例如更新/选择/插入数据库中的数据,以及许多其他事情。

    查看更多内容: https://docs.oracle.com/javaee/7/tutorial/doc/ejb-intro.htm#GIJSZ 用于 EJB

    另外我推荐你以下两本书:

    Head First Servlet 和 JSP http://shop.oreilly.com/product/9780596005405.do

    Head First EJB http://shop.oreilly.com/product/9780596005719.do

    【讨论】:

    • 感谢您的详细解释,但它仍然没有回答我的问题,我知道远程访问是什么,但我只想知道为什么它说 EJB 可以远程访问而不是 servlets/ jsp的
    • 你确定他们不能吗? stackoverflow.com/questions/3164822/…
    • 其实我不是。我不知道为什么人们在很多论坛上写了 Servlet 不能远程访问而 EJB 可以
    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多