2012-07-20 49 views
0

我的乡亲:CGI在Java中 - 传统而有趣的(教育目的)

我知道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>"); 
      } 
     } 
    } 


在浏览器的URL我写道:HTTP : //localhost/CGI_CSharp.exe和宾果! 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是空格=>(http : //localhost/java.exe CGI_Java)

我得到:

HTTP 404.0 - 未找到

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

的Java。 EXE CGI_Java(该CGI_Java.bat的内容)

而现在,我尝试的网址:

HTTP : //本地主机& /CGI_Java.bat

现在浏览器显示:

C:\的Inetpub \ wwwroot的>的java.exe CGI_Java

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

有人可以帮助我吗?

在此先感谢。

回答

0

你使用什么服务器?

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

(请注意,如果您更改路径的环境变量,您将不得不重新启动服务器以使其接受更改)。

+0

我在IIS 7和Apache中都运行了这两个示例。 C#在两台服务器上运行,而Java没有运行在其中任何一台服务器上。 – 2012-07-20 21:38:02