如何使用servlet和业务层?

时间:2012-08-17 21:37:01

标签: java sockets web-applications servlets business-logic

我有一个java应用程序:

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

湾客户端 - Swing应用程序

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

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

将您的业务逻辑置于Web服务之后(可以使用servlet完成)。因此它将理解HTTP通信,它将为您提供那些不错的功能。然后更改您的Swing客户端,通过HTTP请求与您的新Web服务进行通信。