运行Java应用程序以在tomcat服务器上运行

时间:2014-09-14 21:40:00

标签: java android web-services sockets tomcat

我创建了一个Socket Server应用程序,它将接受来自本地网络上其他计算机的客户端连接。这是应用程序从公共静态void main方法运行。并且是一个非常标准的Java应用程序。

我还创建了一个在tomcat上运行的Web服务,它也使用了java。网络服务将从任何连接互联网的设备发出http接受请求。

一旦Web服务收到请求,我希望它通过套接字服务器发送指令并将一些数据发送到连接的客户端。

我想在Web服务中运行套接字服务器应用程序,以便Web服务可以访问套接字服务器而无需作为客户端进行连接。

运行标准Java应用程序的最佳方法是什么,以便tomcat服务器在启动时启动应用程序?我应该将它作为servlet运行,还是有更好的方法让Web服务访问套接字

1 个答案:

答案 0 :(得分:2)

在正确的应用程序服务器中打开自己的服务器套接字的应用程序是没有意义的,可能会产生反效果的IMO。

考虑一下:Tomcat可能正在端口8080上运行。假设您的应用程序将在端口9080上运行。您认为客户端需要连接哪些端口才能使用您的服务?如果你的答案是正确的,那么你期望Tomcat为你提供什么服务/好处,如果你的客户实际上根本不打算与tomcat交互?

您不需要(完整的)应用程序服务器来运行您自己的个人服务器。您可以选择:

  1. 一个Java web service without a web application server,它允许您在vanilla JSE中部署完整的JAX-WS Web服务,无需应用程序服务器

  2. 使用jdk's embedded HTTP server处理您的请求

  3. 部署独立应用程序as a windows (or other OS) service