Java中的CGI - 遗留但有趣(用于教育目的)

时间:2012-07-20 17:29:34

标签: java apache iis cgi cgi-bin

我大家:

我知道CGI是侏罗纪的,在你们所有人称我为疯子之前,我必须说这个问题仅用于教育目的(在实际情况下我使用的是JSP)。

我正在尝试用Java编写一个“Hello World”CGI,而且我没有成功。

所以我在C#中尝试相同的工作。 两个程序(C#和Java)完全相同(逐行)。 C#工作,Java不工作。

这是C#中的代码:

  

    namespace CGI_CSharp  
    {  
        class Program  
        {  
            static void Main(string[] args)  
            {  
                Console.WriteLine("Content-Type: text/html\n"); // the extra "\n" is needed    
                Console.WriteLine("<html>");  
                Console.WriteLine("<head>");  
                Console.WriteLine("<title>CGI - C#</title>");  
                Console.WriteLine("</head>");  
                Console.WriteLine("<body>");  

                Console.WriteLine("<h1>Hello World !</h1>");  

                Console.WriteLine("</body>");  
                Console.WriteLine("<html>");  
            }  
        }  
    }  


在我写的浏览器网址中写道: http://localhost/CGI_CSharp.exe 和BINGO! C#代码工作!

现在Java中的代码相同:

  

    public class CGI_Java  
    {  
        public static void main(String[] args)   
        {  
            System.out.println ("Content-Type: text/html\n");  
            System.out.println ("<html>");
            System.out.println ("<head>");  
            System.out.println ("<title>CGI - Java</title>");  
            System.out.println ("</head>");  
            System.out.println ("<body>");  

            System.out.println ("<h1>Hello World !</h1>");  

            System.out.println ("</body>");
            System.out.println ("</html>");  
        }  
    }  

现在我尝试了网址:

http://localhost/java.exe%20CGI_Java

(如你所知,%20是空格=&gt;(http://localhost/java.exe CGI_Java)

我明白了:

HTTP 404.0 - 未找到

所以,我再次尝试,现在使用一行文件(CGI_Java.bat):

java.exe CGI_Java (CGI_Java.bat的内容)

现在,我尝试使用网址:

http:// localhost&amp; /CGI_Java.bat

现在浏览器显示:

C:\ inetpub \ wwwroot&gt; java.exe CGI_Java

这是我在批处理文件中写入的命令后面的提示符。

有人能帮助我吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您使用的服务器是什么?

服务器路径上是java.exe吗?

(请注意,如果更改路径的环境变量,则必须重新启动服务器才能获取更改)。