我试图弄清楚如何用 Java 编写 CGI 脚本。
我按照这个例子 - > http://www.javaworld.com/jw-01-1997/jw-01-cgiscripts.html?page=1
它提供 cgi_lib.java、hello.html 和 hello.java
一切似乎都很好,但在 html 部分。
Action 指向 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 并根据 this 进行配置
LoadModule cgi_module modules/mod_cgi.so
ScriptAlias/cgi-bin/"C:/Program Files/Apache Group/Apache/cgi-bin/"
好像已经启用了。
那么现在的问题是什么?
最佳答案
hello.cgi 的内容显示在文章第 2 页的顶部。
#!/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
关于java - 用 Java 编写 CGI 脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16223318/