Java 如何使用servlet和业务层?

Java 如何使用servlet和业务层?,java,sockets,web-applications,servlets,business-logic,Java,Sockets,Web Applications,Servlets,Business Logic,我有一个java应用程序: a。服务器端-Swing应用程序(我使用jTextArea为服务器创建了gui, 仅打印客户端请求) b。客户端Swing应用程序 在服务器端,我有一个业务层,它将数据存储在一些向量中 现在,除了客户端的Swing应用程序之外,我还需要创建一个web应用程序,它需要表示bl中向量的相同数据 我的问题是,如果我打开一个新的web项目,servlet如何从 bl,因为这是不同的项目。。 我的服务器端是否可能监听来自servlet的请求? 它们(servlet和服务器(a)

我有一个java应用程序:

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

b。客户端Swing应用程序

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

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

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

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

因此,我对您的体系结构的建议是:


将业务逻辑放在web服务后面(可以使用servlet完成)。因此,它将理解HTTP通信,并为您提供这些良好的功能。然后将Swing客户端更改为通过HTTP请求与新的web服务对话。

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

初始客户端/服务器如何通信?我从来没有听说过“swing服务器应用程序”,所以我们在这里可能会遇到词汇上的障碍。您的服务器只是一个为客户端应用程序提供服务的程序。您可以使用GUI来管理服务器,例如管理用户等,但这是服务器代码的外部部分……通常情况下。@jeff,客户机-服务器通过套接字进行通信。我为服务器做了gui,只是为了查看客户机请求并将它们打印在jTEXTAREA上(以检查它是否工作…)是的,我想将我的业务逻辑公开给HTTP。其中一个要求是有2个UI:1)swing UI,2)web UI,这样我就不能更改swing客户端。我可以在服务器端编写servlet吗?但在这种情况下,网络将如何发送请求?对不起,我无法编辑我的第一条评论。。因此,通过在服务器端编写servlet,我的意思是添加一个新类作为servlet来处理HTTP请求。但如果我这样做,我会有一些问题,因为如果我在web项目中单击一些按钮,我如何将它们定向到servlet?可能吗?您的web项目将包含servlet和一些web页面(JSP、HTML等)。在这个项目中,您将servlet映射到一个URL,您的HTML表单将发布到这些URL。我所做的是:在我的web项目中,我拥有servlet并获取关于我的bl的数据。servlet通过套接字与服务器端进行通信。现在我有一个问题,jsp更适合html代码,对吗?因此,如果servlet将数据存储在向量中,我如何将其发送到jsp?好的,要将参数从servlet发送到jsp,我们需要使用requeest.setParameter()。