我试图弄清楚如何用 Java 编写 CGI 脚本。
我遵循了这个例子-> http://www.javaworld.com/jw-01-1997/jw-01-cgiscripts.html?page=1
它提供 cgi_lib.java、hello.html 和 hello.java
一切似乎都很好,但在 html 部分。动作指向 cgi_lib/hello.cgi
没有提供cgi。所以我尝试使用 cgi_lib/hello.java,它在 hello.java 中打印了整个源代码。
然后我尝试将 hello.java 扩展编辑为 hello.cgi,并再次尝试。浏览器返回错误 500。
问题是什么?是这样吗,有一些特定的方法可以将 hello.java 编译成 hello.cgi 吗?hello.cgi 中的脚本与 hello.java 不同?
请帮忙。
谢谢你。
更新我添加了 hello.cgi
#!/bin/sh
java -Dcgi.content_type=$CONTENT_TYPE -Dcgi.content_length=$CONTENT_LENGTH - Dcgi.request_method=$REQUEST_METHOD -Dcgi.query_string=$QUERY_STRING -Dcgi.server_name=$SERVER_NAME -Dcgi.server_port=$SERVER_PORT -Dcgi.script_name=$SCRIPT_NAME -Dcgi.path_info=$PATH_INFO hello
那么 $CONTENT_TYPE、$CONTENT_LENGTH、... 是否保持不变?还是我应该输入一些东西?
只是为了让事情更清楚。我把 cgi_lib、hello.java 和 hello.cgi 放在 C:\xampp\cgi-lib
以及 C:\xampp\htdocs\test 中的 hello.html
当我尝试连接时,它返回给我这个
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
couldn't create child process: 720002: hello.cgi
If you think this is a server error, please contact the webmaster.
Error 500
localhost
Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
我检查了 c:\xampp\apache\conf 中的 httpd.conf 并根据此配置
LoadModule cgi_module modules/mod_cgi.so ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/" 好像已经启用了。
那么现在的问题是什么?