Понимание Java-апплетов - PullRequest
0 голосов
/ 02 июля 2010

Я пытаюсь понять, как работают апплеты.

Я понимаю, что файл класса - это байт-код, то, что JVM может понять и выполнить.Когда апплет работает в системе пользователя, байт-код передается в систему пользователя по сети.

Теперь, что происходит, когда имеется более одного файла класса?Например, что если класс, в котором есть метод init () апплета (класс A), имеет объект другого из моих классов (класс B)?HTML-файл по-прежнему содержит classA.class в теге APPLET.В таком случае переносится ли classB.class также по сети?

Кроме того, как вписываются файлы JAR?Это просто сжатая коллекция файлов классов, не правда ли?

Любая ясность в том, как это работает, будет высоко оценена.

Спасибо,

Ответы [ 4 ]

1 голос
/ 02 июля 2010

JAR-файл - это файл, в котором содержатся классы, он использует zip-сжатие.Когда браузер находит тег, ссылающийся на апплет, он загружает файл JAR на клиент и запускает его.

1 голос
/ 02 июля 2010

Любые зависимости, на которые опирается ваш апплет, будут переданы клиенту.Это включает как отдельные классы, так и файлы jar.

Однако многие разработчики Java теперь предпочитают использовать Java Web Start вместо апплетов.Приложения Web Start не запускаются внутри браузера, что помогает облегчить проблемы совместимости с плагинами Java различных браузеров.Кроме того, песочница Web Start не так ограничительна, как песочница, в которой запускаются апплеты.Если вы уже написали свой код в форме апплета, его все равно можно запустить как приложение Web Start.

0 голосов
/ 02 июля 2010

Тег <APPLET> устарел в HTML;тег <OBJECT> должен быть предпочтительным.Однако Sun (Oracle?) Говорит, что <APPLET> предпочтительнее, так как поддержка <OBJECT> нечеткая.Примите это во что бы то ни стало.

JAR-файлы (в контексте <APPLET>) указываются с параметром archive.

Я ожидаю, что все файлы извлекаются из базыURL, в котором был апплет;архивы, конечно.

Я бы ознакомился с Java Tutorials от Sun.У них есть один для апплетов, включая запуск через Java Web Start.

0 голосов
/ 02 июля 2010

Я думаю, что ключевой факт из того, что вы описали выше, заключается в том, что JAR-файлы передаются и интерпретируются JVM до запуска апплета и, следовательно, знают и, следовательно, могут получить доступ ко всей иерархии классов.

...