Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
редставлять методы, предназначенные для 
извлечения информации из заголовка протокола 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
 
<<-[Весь Текст]
Страница: из 275
 <<-