Основной нишей языка Java является создание апплетов, работающих на рабочих местах клиентов сети Internet. Апплет можно запускать только в среде броузера. Современные броузеры обладают собственной встроенной виртуальной машиной Java, что позволяет выполнять Java-программы в среде самого броузера. Для отображения апплета необходимо писать небольшой фрагмент кода HTML.
Программы, тесно взаимодействующие с пользователем, воспринимающие сигналы от клавиатуры и мыши, работают в графической среде. Каждое приложение, предназначенное для работы в графической среде, должно создать хотя бы одно окно, в котором будет происходить его работа, и зарегистрировать его в графической оболочке операционной среды, чтобы окно могло взаимодействовать с операционной средой и другими окнами.
Для создания определенного графического интерфейса пользователя требуется предоставить место, на котором он будет отображаться. (В программах с графическим пользовательским интерфейсом все отображаемые элементы, даже текст, рисуется на экране). При написании апплета за эти действия отвечает броузер.
Рассмотрим процесс загрузки из сети Internet и запуска в среде броузера Java-апплета. Обычно апплет представляет собой отдельный файл, расположенный вне Web-страницы, на который создается ссылка на языке HTML внутри этой Web-страницы. Для вставки Java-апплета в Web-страницу существует специальный тег в языке HTML - <applet>, с помощью которого устанавливаются координаты и размеры области апплета, а также могут передаваться определенные параметры из Web-страницы в апплет.
Структурная схема загрузки и запуска апплета выглядит следующим образом:
С Web-сервера в сети Internet передается в Web-броузер другого компьютера HTML-страница. После ее загрузки броузер определяет использование встроенного апплета по наличию тега <applet> в HTML-коде этой страницы. Затем броузер формирует область в Web-странице, отведенную для апплета, после чего осуществляет его загрузку из Web-сервера. По завершении загрузки байт-код апплета передается на выполнение виртуальной машине Java (JVM) броузера. При этом могут быть использованы параметры запуска, если таковые были установлены в теге <applet>. Виртуальная машина Java выполняет полученный байт-код в отведенной тегом <applet> области. В процессе запуска каждый апплет переживает четыре основных состояния, или жизненных цикла, которым соответствуют определенные методы [1]:
init() - данный метод вызывается автоматически при загрузке апплета в Web-страницу. С помощью него удобно выполнять первоначальную установку параметров и инициализацию переменных апплета.
start() - данный метод выполняется по завершении процесса инициализации. Управление ему передается каждый раз при загрузке и перегрузке Web-страницы.
stop() - данный метод вызывается каждый раз, когда пользователь переходит к другой странице. При возвращении к текущей странице управление будет передано методу start().
destroy() - данный метод вызывается перед выходом из апплета. В этом методе обычно выполняют остановку работы потока, закрытие сетевых соединений и соединений с базами данных.
Итак, после загрузки апплета, но перед его выполнением, осуществляется проверка байт-кода этого апплета. В этом случае проверяется корректность соблюдения правил языка Java в расположенных в программе ссылках на методы и переменные. Здесь также выполняется контроль над процессами обращения к памяти компьютера. Другими словами, проверяется тот факт, что программа обращается к своим областям памяти, а доступ к адресам, в которых могут быть расположены процедуры других приложений или операционной системы, запрещается виртуальной машиной Java [1].
Приведем вариант решения уравнения ax2+bx+c=0 с применением апплета. Эскизный проект содержит четыре метки с надписями "Введите а:", "Введите в:", "Введите с:" и "Ответ" соответственно, три текстовых окна и кнопку с надписью "Решить". Результат выводится на экран.
Помещаем вначале программы рис. 1, в котором представлены результаты расчета для уравнения x2 –5x+6=0.