1

我有一个java应用程序:

一个。服务器端 - Swing 应用程序(我使用 jTextArea 为服务器创建了一个 gui,只是为了打印客户端请求)

湾。客户端 - Swing 应用程序

在服务器端,我有将数据存储在一些向量中的业务层。

现在,除了客户端的 Swing 应用程序之外,我还需要创建一个 Web 应用程序,它需要从 bl 中的向量中表示相同的数据。

我的问题是,如果我打开一个新的 Web 项目,servlet 如何从 bl 获取数据,因为它是不同的项目。我的服务器端是否有可能监听来自 servlet 的请求?他们(servlet 和 server(a) )是否有可能通过套接字进行通信?

4

2 回答 2

2

我认为最好的方法是创建一个新的 Web 项目。在网页的 Gui 中有一些按钮.. 当单击某个按钮时,我会将他重定向到 servlet。现在 Servlet 将通过套接字与服务器端进行通信,以获取有关 BL 的数据。当 servlet 接收到这些数据时,我将创建一个新的网页并显示数据。

于 2012-08-18T11:53:00.183 回答
1

因此,您希望将您的业务逻辑暴露给另一种媒体,在本例中为 HTTP。你有很多选择。通过使用 servlet(这将需要某种 servlet 容器来运行,例如 Tomcat 或 Jetty 等),您可以利用许多不错的服务器功能,例如会话管理、线程池等。如果您试图修改您现有的服务器以也接受 HTTP 通信,除非您自己实现它们,否则您会错过这些。

所以我对你的架构的建议是:

将您的业务逻辑放在 Web 服务后面(可以使用 servlet 完成)。所以它会理解 HTTP 通信,它会为你提供那些不错的功能。然后更改您的 Swing 客户端以使用 HTTP 请求与您的新 Web 服务通信。

于 2012-08-17T23:09:33.460 回答