CGI на Java - устаревшая, но интересная (в образовательных целях)

Я, ребята:

Я знаю, что CGI - это юрский период, и прежде чем вы все назовете меня сумасшедшим, я должен сказать, что этот вопрос предназначен только для ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЕЙ (в реальных случаях я использую JSP).

Я пытаюсь написать CGI «Hello World» на Java, и мне это не удается.

Так что я пробую ту же работу на 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

Это приглашение, за которым следует команда, которую я написал в пакетном файле.

Кто-нибудь может мне помочь?

Заранее спасибо.


person Paulo Pignatelli    schedule 20.07.2012    source источник


Ответы (1)


Какой сервер вы используете?

java.exe находится на пути к серверу?

(Обратите внимание, что если вы измените переменную среды для пути, вам придется перезапустить сервер, чтобы он принял изменения).

person ᴇʟᴇvᴀтᴇ    schedule 20.07.2012
comment
Я запускал эти два примера как в IIS 7, так и в Apache. C # работал на обоих серверах, а Java не работала ни на одном из них. - person Paulo Pignatelli; 21.07.2012