Читаем Платформа J2Me полностью

Протокол HTTP определяет семантику, связанную с тем, что клиентам необходимо запрашивать ресурсы через прокси-сервер. Браузер может изменять URI пользователя, основываясь на настройках его прокси, и посылать измененный запрос на прокси-сервер, который перенаправляет его на исходный сервер. Программа не делает таких изменений URI, и поэтому она не может пересылать URI, как ожидается вашим прокси-сервером. Если вы не знаете, как браузер изменяет URI, у вас могут возникнуть сложности при доступе к URI, являющимся внешним по отношению к вашей корпоративной сети. Результат выразится в том, что программа, показанная в листинге 8.1, сбросит lOException.

Программа, показанная в листинге 8.1, отображает только метаинформацию о запрошенных ресурсах и не отображает сам ресурс. Она лишь запрашивает информацию заголовка для каждого ресурса, используя метод HEAD HTTP. Написание программы, которая отображала бы произвольное содержимое, было бы равноценно написанию целого браузера, что, очевидно, лежит за пределами темы данной книги. К счастью, некоторые компании предлагают HTTP-браузеры, которые работают на устройствах MIDP, так что вам не придется проделывать эту огромную работу.

Листинг 8.1. Программа ConnectionDemo определяет MID-лет, который отображает мета-информацию протокола HTTP, а именно значения полей заголовка HTTP. Программа использует команду HEAD для получения лишь мета информации, а не всей страницы

import javax.microedition.midlet.MI Diet;

import javax.microedition.lcdui.Display;

Этот класс определяет MID-лет для демонстрационной программы, которая запрашивает у пользователя URI, затем создает соединение HTTP с исходным сервером и извлекает ресурс. Программа использует объект Form, для того чтобы дать пользователю возможность ввести URI.

*/

public class ConnectionDemo extends MID-лет

}

private static ConnectionDemo instance;

private URIEntry urlForm; public ConnectionDemo()

super(); instance = this; }

/**

Возвращает один экземпляр класса.

Вызов этого метода до создания объекта возвращает нулевой указатель.

@возвращаем экземпляр данного класса,

public static ConnectionDemo getlnstance ()

return instance;

}

public void startApp()

Display display;

URIEntry urlForm = URIEntry.getlnstance();

display = Display.getDisplay(this); display.setCurrentlurlForm);

}

public void pauseApp()

}

}

void quit ()

destroyApp(true); notifyDestroyed();

}

public void destroyApp(boolean destroy)

{

instance = null;

/**

Устанавливает данный объект в качестве текущего отображаемого объекта MID- лета.

*/

public void display()

Display.getDisplay(this). setCurrent(urlForm);

}

}

Листинг 8.2. Класс URIEntry описывает форму, которая приглашает пользователя ввести URI

import: javax.micrcedition.midlet.MIDlet;

import javax.microedition.Icdui.Command;

import javax.microedition.Icdui.CommandListener;

import javax.raicroedition.Icdui.Display;

import javax.microedition.Icdui.Displayable;

import javax.microedition.Icdui.Form;

import javax.microedition.Icdui.TextField;

/**

Этот класс задает Form, приглашающую пользователя ввести URI, с которым должно быть установлено соединение HTTP.

Пользователь вводит URI и нажимает командную кнопку «Go».

Экземпляр данного класса затем создает экземпляр класса ResourceDisplay, который выполняет обязанности извлечения ресурса HTTP и его отображения.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT