| |
редставлять методы, предназначенные для
извлечения информации из заголовка протокола HTTP:
// Метод возвращает содержимое заголовка content-encoding
// (кодировка ресурса, на который ссылается URL)
public String getContentEncoding();
// Метод возвращает содержимое заголовка content-length
// (размер документа)
public int getContentLength();
// Метод возвращает содержимое заголовка content-type
// (тип содержимого)
public String getContentType();
// Метод возвращает содержимое заголовка date
// (дата посылки ресурса в секундах с 1 января 1970 года)
public long getDate();
// Метод возвращает содержимое заголовка last-modified
// (дата изменения ресурса в секундах с 1 января 1970 года)
public long getLastModified();
// Метод возвращает содержимое заголовка expires
// (дата устаревания ресурса в секундах с
// 1 января 1970 года)
public long getExpiration();
Другие методы, определенные в классе URLConnection, позволяют получить все
заголовки или заголовки с заданным номером, а также другую информацию о
соединении. Мы не будем их рассматривать для экономии места в книге. При
необходимости вы найдете описание этих методов в справочной системе Microsoft
Visual J++.
Приложение CallCGI
В 29 томе “Библиотеки системного программиста” мы рассказывали о том, как с
помощью расширений сервера Web, выполненных на основе интерфейса CGI и ISAPI
можно обрабатывать данные из форм, расположенных в документах HTML. В частности,
мы привели там исходные тексты программы controls.exe (составленной на языке
программирования С), которая динамически создавала и отображала данные,
введенные в форме. Внешний вид этой формы показан на рис. 3.6, воспроизведенном
нами из указанного тома.
Рис. 3.6. Форма для ввода данных
Программа CGI controls.exe получала данные, введенные пользователем в этой
форме, после чего динамически создавала документ HTML, в котором отображала
состояние переменных серды, полученные данные в исходном и раскодированном виде,
а также список значений полей (рис. 3.7).
Рис. 3.7. Документ HTML, сформрованный динамически программой CGI control.exe
Создавая приложение CallCGI, мы поставили перед собой задачу заменить форму
приложением Java, которое вводит с клавиатуры текстовую строку полей и передает
ее программе CGI controls.exe. Содержимое динамически сформированного
программой CGI документа HTML приложение CallCGI отображает в своем консольном
окне, как это показано на рис. 3.8.
Рис. 3.8. Отображение в окне приложения Java содержимого документа HTML,
полученного от программы CGI
Исходный текст приложения CallCGI
Исходный текст приложения CallCGI приведен в листинге 3.9.
Листинг 3.9. Файл CallCGI\CallCGI.java
// =========================================================
// Вызов расширения сервера Web на базе интерфейса CGI
// из приложения Java
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.io.*;
import java.net.*;
import java.util.*;
public class CallCGI
{
// -------------------------------------------------------
// main
// Метод, получающий управление при запуске приложения
// -------------------------------------------------------
public static void main(String args[])
{
// Массив для ввода строки с клавиатуры
byte bKbdInput[] = new byte[256];
// Размер принятого блока данных
int length;
// Рабочая строка
String str;
// Адрес URL вызываемой программы CGI
URL u;
// Канал связи с расширением CGI
URLConnection c;
// Выходной поток для передачи данных расширению CGI
PrintStream ps;
// Входной поток для получения данных от расширения CGI
DataInputStream is;
t
|
|