【问题标题】:how to execute java class containing main() on Tomcat/openshift如何在 Tomcat/openshift 上执行包含 main() 的 java 类
【发布时间】:2014-05-21 08:58:07
【问题描述】:

我正处于开发 Java 聊天网络应用程序的早期阶段,托管在 Openshift.com,搜索如何在我的代码中实现客户端/服务器逻辑并找到 Q about Client Server in JSP,这对我来说是个好点得到陈述。

public class Server
{    
public static void main(String[] args ) 
{
    try {    
        ServerSocket socket = new ServerSocket(8765);

        Socket insocket = socket.accept( );

        BufferedReader in = new BufferedReader (new 
            InputStreamReader(insocket.getInputStream()));
        PrintWriter out = new PrintWriter (insocket.getOutputStream(), 
            true);

        String instring = in.readLine();
        out.println("The server got this: " + instring);
        insocket.close();
    }
    catch (Exception e) {} 
 } 
}

但现在我想知道如何在 Apache Tomcat 服务器上运行 Server.java,是否有任何替代方法来实现服务器逻辑或如何使上述服务器代码为我工作?任何帮助将不胜感激。

【问题讨论】:

  • 你真的不能不做傻事。将其作为纯 Java 应用程序运行有什么问题?

标签: java jsp tomcat openshift


【解决方案1】:

主方法 afaik 在 servlet 容器或应用程序服务器中运行时不会被执行,它是通过命令行运行时类(或应用程序)的入口点。您需要研究用 java 编写 Web 应用程序,因为您似乎最熟悉编写命令行应用程序或单个类。此外,如果您在 openshift 上侦听端口 8765,您将无法从外部访问该端口。如果你真的想在 openshift 上做你想做的事情,你应该使用 DIY 墨盒,删除正在运行的默认 ruby​​ 脚本,然后在那里运行你的类(并在端口 8080 上监听),看看它是否适用你。

【讨论】:

  • 好的,我找到了Link,但我无法正确理解
  • 您需要将代码添加到 DIY 应用程序的 git 存储库(作为 .class 文件或 .jar 存档),然后设置一个 action_hook 以在执行 git push 时运行它。
猜你喜欢
  • 2010-11-08
  • 1970-01-01
  • 2013-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多