java - 部署基于终端的 Java 应用程序

标签 java jakarta-ee tomcat deployment glassfish

我正在从 .net 迁移到 java,但我还没有在 java 应用程序部署中使用过。我用于部署充当独立应用程序的控制台基础应用程序,它是具有自定义协议(protocol)的 tcp 和 udp 服务器的混合体。

我有一个要求,我移植到 java 的 .net 应用程序必须部署在 tomcat 或 glass fish 中(没有嵌入的东西)。我真的不知道我必须使用什么技术。我一直在网上搜索,但我的理解是 tomcat 就像 IIS,仅适用于 Web 应用程序,而 glass fish 在某种程度上也是用于托管 Web 应用程序的应用程序服务器。我真的可以在 tomcat 或 glass fish 中运行我的 java 控制台基础应用程序吗?有人可以为这类东西指出一个好的教程吗?谢谢!

编辑 1 好的,明白我需要在 tomcat/glassfish 中部署我的应用程序的原因了。我需要为我的应用程序提供一个 Web 用户界面,因为我目前正在使用控制台进行用户输入。现在我的应用程序不仅支持内部的自定义 tcp/udp 服务器,还支持用于管理的 Web 功能。非常感谢我如何实现这一点的任何建议,我只是不知道从什么 java api/技术开始。

最佳答案

我不确定为什么您的要求说您需要使用 servlet container 运行应用程序。我认为至少根据您的描述,您的应用程序不适合 servlet 容器编程模型。

只要您创建一个 entry point ,我认为您可以使用 java or javaw 从命令行启动您的应用程序,

但是如果您无法将部署要求更改为 tomcat,您可以通过使用 servlet 来启动您的应用程序来完成此操作,我会阅读这些内容

这是使用 servlet 并将其部署到 tomcat 的一种方法

  public class LaunchServlet extends HttpServlet
  {
    private static final long serialVersionUID = 4277145689972356257L;
        //this method is run as tomcat starts up this servlet
    public void init() throws ServletException
   {
        try
        {
            System.out.println("Launching my application...");
            new Thread(new ApplicationLauncher()).start();
            System.out.println("Launched my application successfully. ");
        }
        catch(Exception e)
        {
           throw new RuntimeException("Fail Fast: Unable to launch exception.");
        }
    }

      class ApplicationLauncher implements Runnable
      {
      public void run()
       {
              //start you applicaton here
        }

      }

    }

关于java - 部署基于终端的 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538879/

相关文章:

java - 在 Java Web 应用程序中使用可配置属性

eclipse - HTTP 状态 404 -/我第一次启动时出错

linux - 端口 80 上的 RedHat

java - HTML5 什么都不缓存

java - 来自 jaxws-tools :3. 0.0 的 Wsimport 在 ClassNotFoundException 上崩溃

java - 如何创建用于 Apache Tomcat 的 X509 自签名证书

java - 如何实例化一个使用给定 double 值扩展 Number 的泛型类?

java - 忽略了 Wildfly 安全约束

java - 在保存、更新和删除时发出事件的 DAO

eclipse - 如何在不遇到 java.lang.ClassNotFoundException 的情况下将 JAR 库添加到 WAR 项目?类路径 vs 构建路径 vs/WEB-INF/lib