有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

apache运行CGI Java程序

我想用ApacheHTTP服务器运行一个java程序。我很难在浏览器中显示简单的输出

在我的cgi-bin文件夹中,我有CgiTest。java看起来像这样:

#!"C:\Program Files\Java\jdk1.8.0_101\bin\java.exe"
public class CgiTest {
public static void main(String[] args) {
    String type = "Content-Type: text/html\n\n";
    String output = "<html>" +
            "<p>Hi there </p>" +
            "</html>";
    System.out.println(type);
    System.out.println(output);
}
}

我得到的错误是:

End of script output before headers: CgiTest.java
Error: Could not find or load main class C:.Apache24.cgi-bin.CgiTest.java\r: C:/Apache24/cgi-bin/CgiTest.java

如何运行我的java程序?如果我必须从脚本中调用它,怎么做


共 (1) 个答案

  1. # 1 楼答案

    我成功了! 对于那些有一天发现这一点的人,这里有一个方法:

    第一步。Java程序

    public class CgiTest {
    public static void main(String[] args) {
    String type = "Content-Type: text/html\n\n";
    String output = "<html>" +
            "<p>Hi there </p>" +
            "</html>";
    System.out.println(type);
    System.out.println(output);
    }
    }
    

    第二步。将其放入cgi bin文件夹中

    第三步。运行javacgitest。爪哇

    第四步。安装cygwin

    第五步。创建调用程序。cgi bin文件夹中的cgi:

    #!C:\cygwin64\bin\bash.exe
    java -cp ./ CgiTest
    

    第六步。配置conf/httpd。conf并允许执行cgi脚本。确保你有这些台词:

    <Directory "c:/Apache24/cgi-bin">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
    Options FollowSymLinks
    Require all granted
    </Directory>
    AddHandler cgi-script .cgi
    

    第七步。在浏览器中运行URL。确保正确输入端口。我的是180,但你的是conf/httpd。形态

    http://localhost:180/cgi-bin/invoker.cgi
    

    这是在Windows中实现的方法之一