Web services 从JavaGUI应用程序调用servlet?

Web services 从JavaGUI应用程序调用servlet?,web-services,jakarta-ee,servlets,model-view-controller,ejb,Web Services,Jakarta Ee,Servlets,Model View Controller,Ejb,我知道以前也有人问过类似的问题,但我想知道您是否可以调用Servlet,对EJB模块执行一些工作,然后将数据返回到独立的javagui应用程序 该项目的要求是,独立的JavaGUI客户端应用程序和web客户端应用程序都应该访问Servet来完成其工作,即从数据库更新和检索数据 GUI客户端使用servlet访问EJB是否有意义,或者为什么不直接从独立GUI应用程序访问EJB,而不调用servlet 是的,您可以调用servlet,而servlet又反过来调用EJB 但您也可以直接从独立应用程序调

我知道以前也有人问过类似的问题,但我想知道您是否可以调用
Servlet
,对
EJB
模块执行一些工作,然后将数据返回到独立的javagui应用程序

该项目的要求是,独立的JavaGUI客户端应用程序和web客户端应用程序都应该访问
Servet
来完成其工作,即从数据库更新和检索数据

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


是的,您可以调用servlet,而servlet又反过来调用EJB

但您也可以直接从独立应用程序调用EJB。如果servlet返回HTML标记(人类的内容类型为“text/HTML”),则必须对其进行解析(需要付出努力)才能获得相同的结果。每次标记更改时,您的客户机也必须更改

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


另一方面,如果您指的是实现返回XML或JSON的web服务的servlet,那么这是一种有效的方法,尤其是涉及到来自其他语言(例如C++)的客户机时。另一个优点是,您可以使用浏览器读取结果(不需要特殊的RMI客户端)。在这种情况下,我需要的是从GUI应用程序获取数据库数据,并更新数据库数据,主要是字符串。但是相同的
servlet
将用于服务web客户端并返回html。我正在努力弄清楚它们在需求中的含义。架构(您的图表)没有定义它。web层可以是servlet和web服务。我不知道他们的意图是什么,但从技术角度来看,为两个客户机使用一个servlet是没有意义的,我认为这是有意义的。但一般来说,这会发生吗?我的意思是,独立应用程序通过
servlet
访问
EJB
会话外观,或者它们通常直接访问
EJB
层可能有原因;否则,额外的servlet层有什么好处?因此,是的,直接访问EJB——它应该更快更简单。