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

Работа в WWW

После создания объекта соединение еще не установлено, и можно задать параметры связи. Это делается следующими методами:

  • setDoOutput (boolean out) – если аргумент out равен true, то передача пойдет от клиента на хост; значение по умолчанию false;
  • setDoinput (boolean in) – если аргумент in равен true, то передача пойдет с хоста к клиенту; значение по умолчанию true, но если уже выполнено setDoOutput(true), то значение по умолчанию равно false;
  • setUseCaches (boolean cache) – если аргумент cache равен false, то передача пойдет без кэширования, если true, то принимается режим по умолчанию;
  • setDefaultUseCaches(boolean default) – если аргумент default равен true, то принимается режим кэширования, предусмотренный протоколом;
  • setRequestProperty(String name, String value) – добавляет параметр name со значением value к заголовку посылаемого сообщения.

После задания параметров нужно установить соединение методом connect (). После соединения задание параметров уже невозможно. Следует учесть, что некоторые методы доступа getxxx(), которым надо получить свои значения с хоста, автоматически устанавливают соединение, и обращение к методу connect () становится излишним.

Web-сервер возвращает информацию, запрошенную клиентом, вместе с заголовком, сведения из которого можно получить методами getxxxo, например:

  • getcontentType () – возвращает строку типа string, показывающую тип пересланной информации, например, "text/html", или null, если сервер его не указал;
  • getcontentLength () – возвращает длину полученной информации в байтах или -1, если сервер ее не указал;
  • getcontent () – возвращает полученную информацию в виде объекта типа Object;
  • getContentEncoding () – возвращает строку типа string с кодировкой полученной информации, или null, если сервер ее не указал.

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

  • getlnputStream() – возвращает входной поток типа InputStream;
  • getOutputStream() – возвращает выходной поток типа OutputStream.

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

Обращение к методу bhv.openstream(), записанное в листинге 19.1, – это, на самом деле, сокращение записи:

bhv.openConnection().getlnputStream()

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

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.