我正在从 .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/