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

标签 java android web-services sockets tomcat

我创建了一个套接字服务器应用程序,它将接受来自本地网络上其他计算机的客户端连接。该应用程序是从 public static void main 方法运行的。是一个非常标准的java应用程序。

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

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

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

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

最佳答案

在适当的应用程序服务器内打开自己的服务器套接字的应用程序是毫无意义的,并且可能会适得其反。

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

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

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

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

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

关于java - 运行Java应用程序以在tomcat服务器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25838289/

相关文章:

java - 安卓开发 : MediaPlayer not working after "hold mode" is on/off

android - 在 Android 中,drawable 的 setbounds 是如何工作的?

java - java中的独立ssl web服务

java - 在 ASP.NET Web API 中创建输入参数并使用 java web 服务功能

java - 我可以在没有安装java的情况下使用JRebel吗

java - 为什么我在 Eclipse 控制台和调试器中都看不到 Java char 数组中的内容?

android - 如何在 Android 中设置 toast 的宽度?

web-services - REST 和 Web 服务 - 难以理解它们

java - 在 Android 中线程化的最佳方法?

java - Java的Swing框架是如何制作窗口/框架的?