Главная » Java » Java.applet — аплеты

0

 

  Технология аплетов (applets) позволяет выполнять фрагменты кода в среде других приложений — как правило, Web-броузеров. Аплеты — это обычно первый опыт знакомства пользователей с виртуальными машинами Java и способами их применения. Аплеты создаются в соответствии с протоколом, оговаривающим период их жизни и способы взаимодействия с исполняющей средой. Параметры этой среды определяются средствами типов пакета Java, applet — в частности, базового класса Applet.

  Когда броузер находит в тексте Web-страницы HTML-дескриптор <APPLET> (или <OBJECT>), загружается код класса с заданным именем, расположенный по указанному адресу URL, конструируется объект этого класса, формируется область Web-:траницы, которая передается в управление объекту, а затем вызывается метод i ni t >бъекта — зачастую с созданием экземпляров ThreadGroup и Thread, предназна-1енных исключительно для выполнения текущего аплета. Как только аплет пристиг 1ает к работе, он по мере необходимости загружает с Web-сервера остальные требуемые классы. Аплеты обычно функционируют в строго ограниченных рамках, и все потенциально опасные операции (такие как доступ к файлам, сетевым соединениям i т.п.) подвергаются тщательному контролю со стороны службы обеспечения политики безопасности либо полностью запрещаются.

  Метод init класса Applet — это один из четырех методов, имеющих отношение с параметрам жизненного цикла аплета. После вызова init происходит обращение с методу start, который "уведомляет" объект аплета о том, что тот активен и должен приступить к выполнению своих функций. Если броузер принимает решение о том, что аплет более не представляет интереса для пользователя (например, пользователь покинул страницу, на которой размещен аплет), вызывается метод Stop, приостанавливающий работу аплета. Если пользователь решил вернуться к странице : аплетом, броузер может вновь вызвать метод start — таким образом, аплет способен переходить из пассивного состояния в активное и наоборот по мере того, как пользователь броузера щелкает на кнопках Назад и Вперед (либо инициирует аналогичные команды), чтобы покинуть страницу и вернуться к ней вновь. Если, по «мнению» броузера, аплет завершил работу окончательно (например, ввиду того, что пользователь переместился на много страниц вперед), вызывается метод destroy объекта, который освобождает все занятые им ресурсы. Если после этого пользователь еще раз обратится к странице с аплетом, повторится полный цикл работы, начиная с вызова метода init. Параметры жизненного цикла аплета полностью опре-;еляются свойствами броузера — броузер, например, вправе вызывать метод lestroy сразу же после выполнения Stop. To, загружается ли класс аплета повторно, когда пользователь в очередной раз обращается к странице, вновь-таки целиком относится к компетенции Web-броузера.

  Рассмотренные выше методы обычно переопределяются в классах аплетов, производных от Applet. Если, например, аплет должен принудительно создать собственный поток вычислений, соответствующие инструкции целесообразно поместить в код метода init; метод Start аплета при первом вызове должен возращаться к методу start объекта потока, а при последующих —возобновлять его работу; метод Stop мог бы приостанавливать действие потока с целью предотвращения расходования вычислительных ресурсов, когда страница с аплетом неактивна; и, наконец, destroy должен взять на себя обязанность прерывать работу потока ввиду того, что аплет более не нужен.

  Аплет способен считывать значения параметров (цвета, шрифтов, адресов файлов с графическими изображениями, подлежащими воспроизведению, и т.п.) из содержимого дескрипторов <PARAM>, размещенных между соответствующими дескрипторами <APPLET> (<OBJECT>) и </APPLET> (</OBJECT>), и адаптировать в соответствии с полученными данными свое поведение.

  Аплеты обычно работают в среде, весьма ограниченной инструментами поддержки политики безопасности с целью обеспечения защиты компьютера и локальной сети от несанкционированного вторжения, просмотра или модификации данных. Это значит, что определенные полезные действия, такие как обращение к локальному диску, которые в других обстоятельствах совершенно обыденны, по умолчанию могут оказаться недоступными. Аплеты получают разрешение на выполнение подобных операций, как правило, в строго индивидуальном порядке.

   Модель аплетов служит хорошим примером того, каким образом и в каких условиях платформа Java способна проявлять всю свою гибкость и мощь. Один и тот же код должен работать на всех платформах единообразно — это требование, реализуемое при создании аплетов, позволяет выполнять фрагмент кода посредством множества броузеров в различных графических оконных средах на множестве операционных систем. Свойство переносимости байт-кода Java дает возможность инициировать часть приложения на сервере, а другую часть загружать и выполнять на стороне клиентской машины, руководствуясь соображениями удобства и эффективности. В обоих случаях мы имеем дело с одной и той же платформой — виртуальной машиной Java. Способность Java-кода к перемещению из одного места в другое и выполнения в безопасной среде позволяет по-новому взглянуть на проблемы совершенствования архитектуры программного обеспечения.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии