0

我乡亲:

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

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

所以我在 C# 中尝试同样的工作。两个程序(C# 和 Java)是完全一样的(逐行)。C# 有效,而 Java 无效。

这是 C# 中的代码:

  

    命名空间 CGI_CSharp  
    {  
        课堂节目  
        {  
            静态无效主要(字符串 [] 参数)  
            {  
                Console.WriteLine("Content-Type: text/html\n"); // 需要额外的 "\n"    
                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>");  
            }  
        }  
    }  


我在浏览器 URL 中写道:http://localhost/CGI_CSharp.exe和 BINGO!C# 代码有效!

现在Java中的相同代码:

  

    公共类 CGI_Java  
    {  
        公共静态无效主要(字符串 [] 参数)   
        {  
            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 是空格 => (http://localhost/java.exe CGI_Java)

我得到:

HTTP 404.0 - 未找到

所以,我再次尝试,现在使用带有一行文本的批处理文件 (CGI_Java.bat):

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

现在,我试试这个 URL:

http://localhost&/CGI_Java.bat

现在浏览器显示:

C:\inetpub\wwwroot>java.exe CGI_Java

这是我在批处理文件中编写的命令的提示。

有人能帮我吗?

提前致谢。

4

1 回答 1

0

你用的是什么服务器?

是否java.exe在服务器的路径上?

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

于 2012-07-20T18:30:25.453 回答