Java Applets
Все языки программирования можно условно разделить на две группы. Первая из них с помощью компилятора преобразует текст программы в код, непосредственно исполняемый процессором. Вторая группа не имеет компиляции, вместо этого при помощи интерпретатора выполняет написанный текст программы построчно (уже рассмотренные выше так называемые "скрипты"). Javaне относится ни к одной из этих групп. У нее есть процесс компиляции, но в результате получаются не машинные коды, а так называемые "байт-коды", которые для своего выполнения требуют "виртуальной машины" (интерпретатора). Данное обстоятельство одновременно является и плюсом, и минусом языка. Минусом - потому, что в отличие от машинных кодов, программа в байт-кодах будет выполняться дольше. Плюсом - потому, чтоJavaявляется кросс-платформенным языком. Виртуальная машина Java (JVM) существует практически на всех имеющихся в настоящее время операционных системах. Проще говоря, написанный код будет выполняться в любой операционной системе. Данное обстоятельство послужило одной из причин широкого распространения Java как языка программирования.
Java- это высокоуровневый объектно-ориентированный язык программирования, изначально ориентированный на сетевую работу. На языке Java могут быть решены практически все существующие на сегодняшний день задачи: создание приложений с графическим интерфейсом, консольных приложений, написание системных программ, сервисов и так далее. А кроме того,Javaпозволяет создавать еще и апплеты (applet), то есть "небольшое приложение". Апплет специально создан для того, чтобы выполняться внутри окна браузера.
Для того, чтобы создать апплет, необходимо написать свой собственный класс, являющийся потомком от java.applet.Applet(при использовании библиотекиAWT), либо javax.swing.JApplet при использовании Swing. Родительский класс предоставляет 4 виртуальных метода, которые вызываются в ответ на события "жизненного цикла" апплета.
init() - вызывается в момент создания апплета. Метод init() не замещает конструктора класса, конструктор отрабатывается точно так же, как это происходит для любого другого класса.
start() - вызывается каждый раз, когда апплет становится виден на экране пользователя (когда пользователь активизируетhtml-страницу, на которой находится апплет). Также вызывается сразу после init().
stop() - вызывается, когда апплет покидает видимую зону (страница с апплетом престала быть активной на экране пользователя).
destroy() - Вызывается в случае закрытия пользователем страницы с апплетом, давая возможность корректно освободить занятые на этапе работыinit() ресурсы.
Чтобы вставить объект на страницу, используются два тэга - <applet>и<object>. Тэг<applet>считается устаревшим, однако используется более широко (в силу исторических причин) и поддерживается браузерами до сих пор. Более современный подход - это использование тэга<object>, который позволяет вставить в HTML-страницу вообще любой объект, не только апплет. При этом нужно указать, как обрабатывать данный объект (какой он имеет тип).
Апплет (точнее - архив, его содержащий) можно подписать электронной подписью. В этом случае браузер попытается проверить достоверность подписи и спросит пользователя, доверяет ли он организации, от имени которой был получен апплет. Если пользователь выразит свое доверие - все ограничения "песочницы" снимаются, апплет вправе выполнять любые действия на компьютере пользователя. Отсутствие ограничений на клиентской стороне, безусловно, является сильным плюсом технологии апплетов.
А один из серьезных минусов апплетов заключается в том, что для их работы клиент должен иметь на своем компьютере установленную виртуальную машину Java, которая входит в базовую поставку - не во всех операционных системах. В частности, виртуальной машины Java нет по умолчанию в Microsoft Windows.
Примеры апплетов Вы можете найти в Приложении 2 к данному курсу.
- Оглавление
- Введение.
- Предмет рассмотрения данного курса.
- Одно-, двух- и многоуровневые приложения.
- Интернет.
- Адрес в интернете
- 2001:0Db8:11a3:09d7:1f34:8a2e:07a0:765d
- Имя в интернете
- Службы (сервисы)
- Сокета.
- Что такое "сокета" (socket) ?
- Создание серверной сокеты (пример на языке c).
- Сериализация
- Основы верстки: таблицы
- Основы верстки: фреймы
- Основы верстки: позиционирование участков сайта
- Протокол http
- Структура запроса (Request).
- Структура ответа (Response).
- Перспективы развития http.
- Интернет-приложения
- Web-приложения
- Web-сервисы
- Особенности проектирования
- Особенности пользовательского интерфейса
- Программирование интернет-приложений
- Объектно-ориентированное программирование
- Классы и объекты
- Жизненный цикл класса
- Статические члены класса
- Инкапсуляция
- Наследование
- Полиморфизм
- Интерфейсы
- Событийно-ориентированное программирование
- Совместная работа над проектом
- Технологии создания web-клиентов
- Dom (Document Object Model)
- Каскадные таблицы стилей
- JavaScript
- Обфускация и динамическое получение скриптов
- Java Applets
- ActiveX/npapi
- Adobe Flash
- Web-серверы
- Nginx (engine X)
- Технологии, применяемые на стороне сервера
- ИнтерфейсCgi
- КонцепцияMvc
- Сервлеты
- JavaScript
- Хранение данных