Java独立程序到JSP通信

时间:2014-08-04 08:30:29

标签: java jsp sockets tomcat servlets

存在以下程序: 1.我有一个java应用程序,它每隔一两秒接受生物潜在数据并将其存储在数据库中。这是一个套接字服务器,它接受来自多个客户端的这些数据并生成一个新线程来处理它以存储在db中。 2.我在tomcat服务器上有一个jsp页面,它从数据库中读取历史客户数据(由应用程序1存储)并在页面上显示。

上面1.)中的套接字服务器程序没有在tomcat服务器内运行。

现在的新要求是:在jsp页面上显示所有现场人员数据。

现在问题: 我现在需要将实时数据从套接字服务器(独立)传递给在tomcat服务器上运行的jsp。

可能的解决方案:

方法1:在tomcat中运行套接字服务器而不是独立运行并将频繁传入的数据存储在java对象中,这样jsp就可以每秒访问该对象并将其显示在图形上。

问题:除了jsp需要访问实时数据这一事实外,独立的Java应用程序不需要包含在tomcat服务器中。另外,我读过这不是最好的方法。

方法2:将独立的Java应用程序公开为Web服务,并使用REST架构与jsp进行通信。

问题:使用此方法的复杂性在于它不具备自动更新最新数据的websockets或服务器发送事件(SSE)所提供的灵活性。 jsp必须每隔一秒继续轮询新数据,这也不是一个很好的选择。

我需要一些建议,这是一种更好的方法来完成我的任务。或者还有第三种更好的方法,我完全错过了。

1 个答案:

答案 0 :(得分:1)

  

我有一个java应用程序,每个都接受生物潜在数据   第二个或第二个并将其存储在数据库中

您已经有了答案:只需在您的jsp页面中显示此数据库中的所需数据。这将是最简单的解决方案。

我不知道您是否正在尝试显示实时数据,但JSP本身并不是为实时输出而设计的,无论如何您都会有延迟,因为您已经在数据库中拥有所需的数据 - 无需将其传输到Tomcat服务器