Java-апплет - это программа, написанная на языке Java и откомпилированная в байт-код. Выполнется в браузере с использованием виртуальной Java-машины ( JVM ). Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не возможны в HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться браузерами на многих операционных платформах.
Java-сервлеты являются серверными приложениями, но они отличаются от апплетов языком, функциями и другими характеристиками.
Предназначены Java-апплеты для выполнения в безопасной среде с целью предотвращения их доступа к локальным ресурсам клиентского компьютера.
Код апплета загружается с веб-сервера, и браузер
либо вставляет апплет в веб-страницу;
либо открывает отдельное окно с собственным пользовательским интерфейсом апплета.
Апплет может быть внедрен в веб-страницу с помощью использования HTML тэга <applet>, или (что рекомендуется) тэга <object>.
Можно назвать следующие преимущества Java-апплетов:
работают практически на большинстве операционных платформ;
поддерживаются большинством браузеров;
кэшируются в большинстве браузеров, что существенно ускоряет их загрузку при возвращении на веб-страницу;
после первого запуска апплета, когда Java-машина уже выполняется и быстро запускается, выполнение апплетов происходит существенно быстрее;
загружаются со скоростью, сопоставимой с програмами на других компилируемых языках, например C++, но во много раз быстрее чем на JavaScript.
При этом у Java-апплетов имеются и недостатки:
требуется установка Java-расширения, которые доступны по умолчанию не во всех браузерах;
проблемы реализации Java-расширений для 64-разрядных процессоров;
не могут запускаться до первой загрузки виртуальной Java-машины, что может занимать значительное время;
разработка пользовательского интерфейса с использованием апплетов является более сложной задачей по сравнению с HTML;
не имеют прямого доступа к локальным ресурсам клиентского компьютера;
некоторые апплеты привязаны к использованию определенной среды времени выполнения Java ( JRE ).