运行 CGI Java 程序

Run CGI Java Program

我想 运行 一个带有 Apache HTTP Server 的 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 步。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);
}
}

第 2 步。将其放入 cgi-bin 文件夹

步骤 3.运行 javac CgiTest.java

步骤 4. 安装 cygwin

第 5 步。在 cgi-bin 文件夹中创建 invoker.cgi:

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

第 6 步。配置 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

第 7 步。运行 浏览器中的 URL。确保正确输入端口。我的是 180 但你的是 conf/httpd.conf

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

这是 Windows 中的一种方法。