【问题标题】:CGI in Java - Legacy but interesting (for educational purposes)Java 中的 CGI - 传统但有趣(用于教育目的)
【发布时间】:2012-07-20 00:23:43
【问题描述】:

各位:

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

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

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

这是 C# 中的代码:

命名空间 CGI_CSharp { 课堂节目 { 静态无效主要(字符串 [] 参数) { Console.WriteLine("Content-Type: text/html\n"); // 需要额外的 "\n" Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("CGI - C#"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("

Hello World !

"); Console.WriteLine(""); Console.WriteLine(""); } } }

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

现在Java中的代码相同:

公共类 CGI_Java { 公共静态无效主要(字符串 [] 参数) { System.out.println("Content-Type: text/html\n"); System.out.println(""); System.out.println(""); System.out.println("CGI - Java"); System.out.println(""); System.out.println(""); System.out.println("

Hello World !

"); System.out.println(""); System.out.println(""); } }

现在我已经尝试了网址:

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://localhost&/CGI_Java.bat

现在浏览器显示:

C:\inetpub\wwwroot>java.exe CGI_Java

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

有人可以帮助我吗?

提前致谢。

【问题讨论】:

    标签: java apache iis cgi cgi-bin


    【解决方案1】:

    你用的是什么服务器?

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

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

    【讨论】:

    • 我在 IIS 7 和 Apache 中运行了这两个示例。 C# 在两个服务器中运行,而 Java 没有在其中任何一个中运行。
    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 2012-06-13
    • 2020-12-06
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多