从Java GUI应用程序调用servlet?

时间:2013-08-05 09:15:09

标签: web-services java-ee servlets model-view-controller ejb

我知道之前已经提出了类似的问题,但我想知道您是否可以实际调用Servlet来对EJB模块进行一些工作,然后将数据返回给独立的Java GUI应用程序。

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

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

Application Design

1 个答案:

答案 0 :(得分:2)

是的,你可以调用一个servlet来反过来调用EJB。

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

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

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