0

我知道以前也有人问过类似的问题,但我想知道您是否可以真正调用 aServletEJB模块进行一些工作,然后将数据返回给独立的 Java GUI 应用程序。

该项目的要求是独立的 Java GUI 客户端应用程序和 Web 客户端应用程序都应该访问 aServet来完成他们的工作,即从数据库更新和检索数据。

使用 servlet 让 GUI 客户端访问 是否有意义EJB,或者为什么不EJB直接从独立的 GUI 应用程序访问而不调用Servlet

应用程序设计

4

1 回答 1

2

是的,您可以调用一个 servlet,该 servlet 又调用一个 EJB。

但是您也可以直接从独立应用程序调用 EJB。如果您的 servlet 返回 HTML 标记(内容类型“text/html” - 用于人类),您将不得不解析它(需要努力)以获得相同的结果。每次标记更改时,您的客户端也必须更改。

即使中间有防火墙(= 直接 RMI 是不可能的),您也可以使用“RMI over http(s)”,并且还有一个基于 HTTP 的命名服务(JBoss 提供此功能)。

另一方面,如果您指的是实现返回 XML 或 JSON 的 Web 服务的 servlet,这是一种有效的方法,尤其是在涉及来自其他语言(例如 C++)的客户端时。另一个优点是您可以使用浏览器读取结果(无需特殊的 RMI 客户端)。在这种情况下,请查看在 Java 中实现 Web 服务的可用教程

于 2013-08-05T10:06:53.073 回答