我想用Apache HTTP Server运行一个java程序。我正在努力在浏览器中显示简单的输出。
在我的cgi-bin文件夹中,我有CgiTest.java看起来像这样:
#!"C:Program FilesJavajdk1.8.0_101binjava.exe"
public class CgiTest {
public static void main(String[] args) {
String type = "Content-Type: text/htmlnn";
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.javar: C:/Apache24/cgi-bin/CgiTest.java
如何运行我的 java 程序?如果我必须从某个脚本调用它,该怎么做?
我让它工作了!对于那些有一天在这里找到这个的人,这是一种方法:
第 1 步。爪哇程序
public class CgiTest {
public static void main(String[] args) {
String type = "Content-Type: text/htmlnn";
String output = "<html>" +
"<p>Hi there </p>" +
"</html>";
System.out.println(type);
System.out.println(output);
}
}
第 2 步。把它放在cgi-bin文件夹中
第 3 步。运行javac CgiTest.java
第 4 步。安装西格温
第5步。在 cgi-bin 文件夹中创建调用程序.cgi:
#!C:cygwin64binbash.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中执行此操作的方法之一。