2012-07-20 1 views
0

나는 사람 :CGI - (교육 목적) 레거시하지만 흥미로운

그 CGI는 쥬 알고 당신의 모든 미친 저를 호출하기 전에, 나는이 질문에 (교육 목적이라고 말을해야 JSP를 사용하는 실제 사례).

자바에서 "Hello World"CGI를 코딩하려고하는데, 나는 골치 아프다.

그래서 C#에서 동일한 작업을 시도합니다. 두 프로그램 (C# 및 Java)은 완전히 동일합니다 (한 줄씩). C#은 작동하지만 Java는 그렇지 않습니다.

여기에 C#에서 코드는 다음과 같습니다 HTTP : //localhost/CGI_CSharp.exe 및 빙고 : 내가 쓴 브라우저 URL에

 

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


! C# 코드가 작동합니다!

지금 자바에서 동일한 코드 : 당신 같은 (

HTTP : //localhost/java.exe % 20CGI_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을 시도했습니다 알고, % 20 공백 => (http : //localhost/java.exe CGI_Java)

내가 얻을 :

HTTP 404.0 - 그래서

찾을 수 없습니다, 나는 한 줄의 텍스트와 배치 파일 (CGI_Java.bat)와 지금, 다시 시도 :

자바.

HTTP: EXE CGI_Java합니다 (CGI_Java.bat의 내용)

그리고 지금, 나는 URL을 시도 4,365,834,는 // localhost를 & /CGI_Java.bat

이제 브라우저는 보여줍니다

C : \을 Inetpub \ wwwroot에> java.exe를이 내가 쓴 명령 다음에 프롬프트입니다 CGI_Java

배치 파일에.

나를 도와 줄 사람이 있습니까?

미리 감사드립니다.

답변

0

어떤 서버를 사용하고 있습니까?

서버의 경로에 java.exe이 있습니까?

(경로의 환경 변수를 변경하면 변경 사항을 적용하기 위해 서버를 다시 시작해야합니다.)

+0

IIS 7과 Apache에서이 두 예제를 실행했습니다. 두 서버에서 실행되는 C#은 Java에서 실행되지 않았습니다. –