【问题标题】:Passing Information from Java (Servlet) to CGI method?将信息从 Java(Servlet)传递到 CGI 方法?
【发布时间】:2009-05-28 16:18:39
【问题描述】:

我有一个从表单中获取信息的 java servlet,然后我需要获取该信息并将其传递给 .exe 程序中的特定方法,并获取该方法返回的值。

有什么好的方法可以做到这一点吗?

【问题讨论】:

    标签: java servlets cgi


    【解决方案1】:

    如果“.exe 程序”是指 DLL,则可以使用 JNI 从 Java 调用其中的方法。

    这是不平凡但可行的。

    【讨论】:

    【解决方案2】:

    我必须在我的一个项目中这样做,但我们使用的是 Linux 而不是 Windows。这是一个关于如何去做的总体蓝图。

    您需要:

    1. 将 .exe CGI 文件设置为 使用Runtime.getRuntime().exec(filename, env)的外部进程
    2. 在外部进程中设置对输入流和错误流的引用。
      InputStream fromCgi = p.getInputStream();
      InputStream errorStream = p.getErrorStream();
      
    3. 然后将字节从外部进程输入流复制到 servlet 输出流中。
      IOUtils.copy(fromCgi, response.getOutputStream()); //using apache commons io

    注意:需要在所有部分之间放置很多胶水,但这是如何将 CGI 包装在 Servlet 中的一般策略。

    【讨论】:

      猜你喜欢
      • 2018-04-13
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多