用Java编写CGI脚本

时间:2013-04-25 19:37:32

标签: java html cgi

我试图弄清楚如何用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不同?

请帮忙。

谢谢。

UPDATE 我添加了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 /” 似乎已经启用。

那么现在问题是什么?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

文章说你将从cgi脚本中的执行java jar 。您需要确保将此脚本设置为执行jar文件,方法是使用hello.jar文件作为参数正确调用java可执行文件。还要确保正确配置了Web服务器以允许执行cgi脚本。

答案 2 :(得分:0)

你还必须chmod你的cgi和java文件,以便其他人可以执行它们。