Иллюстрированный самоучитель по Java



              

Работа в WWW - часть 3


getcontentType ()

— возвращает строку типа string, показывающую тип пересланной информации, например, "text/html", или null, если сервер его не указал;

getcontentLength ()

— возвращает длину полученной информации в байтах или — 1, если сервер ее не указал;

getcontent ()

— возвращает полученную информацию в виде объекта типа Object;

getContentEncoding ()

— возвращает строку типа string с кодировкой полученной информации, или null, если сервер ее не указал.

Два метода возвращают потоки ввода/вывода, созданные для данного соединения:

getlnputStream()

— возвращает входной поток типа InputStream; 

getOutputStream()

— возвращает выходной поток типа OutputStream.

Прочие методы, а их около двадцати, возвращают различные параметры соединения.

Обращение к методу bhv.openstreamo, записанное в листинге 19.1, — это, на самом деле, сокращение записи

bhv.openConnection().getlnputStream()

В листинге 19.2 показано, как переслать строку текста по адресу URL.

Web-сервер, который получает эту строку, не знает, что делать с полученной информацией. Занести ее в файл? Но с каким именем, и есть ли у него право создавать файлы? Переслать на другую машину? Но куда?

Выход был найден в системе CGI (Common Gateway Interface), которая вкратце действует следующим образом. При посылке сообщения мы указываем URL исполнимого файла некоторой программы, размещенной на машине-сервере. Получив сообщение, Web-сервер запускает эту программу и передает сообщение на ее стандартный ввод. Вот программа-то и знает, что делать с полученным сообщением. Она обрабатывает сообщение и выводит результат обработки на свой стандартный вывод. Web-сервер подключается к стандартному выводу, принимает результат и отправляет его обратно клиенту.

CGI-программу можно написать на любом языке: С, C++, Pascal, Perl, PHP, лишь бы у нее был стандартный ввод и стандартный вывод. Можно написать ее и на Java, но в технологии Java есть более изящное решение этой задачи с помощью сервлетов (servlets). CGI-программы обычно лежат на сервере в каталоге cgi-bin.




Содержание  Назад  Вперед