当前位置: 首页 > 知识库问答 >
问题:

CGI在Java-遗产但有趣(出于教育目的)

陈和裕
2023-03-14

我的朋友们:

我知道CGI是侏罗纪的,在你们都叫我疯子之前,我必须说这个问题只是出于教育目的(在真实的情况下我使用JSP)。

我正试图在Java编写一个“你好世界”的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和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>");  
        }  
    }  

现在我尝试了URL:

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

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

有人能帮帮我吗?

提前道谢。

共有1个答案

孙文康
2023-03-14

您使用的是什么服务器?

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

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

 类似资料:
  • 问题内容: 我正在寻找一个具有免费访问权限的公共SQL数据库,在其中可以对一些有意义的数据(而不是item1,item2,item3)免费运行一些查询。你有没有看到?如果它与一些教程一起提供,那就更好了。 供应商关系不大,只要可以使用通用JDBC客户端进行连接即可。 问题答案: 尝试SQL练习 从学习阶段开始

  • 1.笔试的代码 2.hashMap的put方法 3.hashMap的数组是什么类型的?? 4.注解和反射的关系,注解的类型 5.Spring ioc为什么java没有 6.怎么避免循环依赖。 7.反问

  • 领课教育系统(roncoo-education)是基于领课网络多年的在线教育平台开发和运营经验打造出来的产品,致力于打造一个全行业都适用的分布式在线教育系统。系统采用前后端分离模式,前台采用vue.js为核心框架,后台采用Spring Cloud为核心框架。系统目前主要功能有课程点播功能,支持多家视频云的接入,课程附件设置功能,支持多家云存储的接入,讲师管理功能,支持讲师入驻功能,可以帮助个人或者

  • 埃本·厄普顿 2006年,剑桥大学。年轻的助教埃本·厄普顿在为新入学的本科生头痛。 无疑,那些敢于申请剑桥大学的新生都有聪明的脑瓜。他们拿着傲人的A-Level考试成绩进入计算机系。从成绩上看,这些野心勃勃的年轻人无可挑剔。可坐在电脑前,他们就露馅了。大多数新生只会摆弄Word和Excel。好一些的,也只不过会做一两个简单的网页。新生们的计算机水平让厄普顿和他的同事们摇头不止。 要知道,早些时代的

  • 1.wait()的使用场景?notify和notifyall区别?wait()会释放锁吗?notifyall后会重新获得直接锁吗?会进入阻塞状态吗? 2.锁,读写锁介绍一下?假如一直有读操作,就会加读锁,那么写操作会一直处于饥饿状态吗?为什么? 3.countdownlatch是什么,它的使用场景? 4.spring,spring mvc ,springboot的区别和联系 5.spring io

  • 数据分析师 周六晚上面试,面试官自我介绍 1.介绍下自己 2.在哪上学,可以保证一定出勤率吗 3.sql两道题 4.连接 几个连接的区别 5.union all 与union什么区别 6.上述两个的区别 7.面试官问几个offer目前(我说两个 并让我讲一下对offer公司已经自己实习的期待) 8.如何提升自己? 反问环节? 我:对我进行一个评价或建议 面:能力还可以 很有上进心 我:对实习生的期