Spec-Zone .ru
спецификации, руководства, описания, API
|
Отметьте: Это руководство по плагину Java описывает функции, выпущенные до Java SE 6 обновлений 10 выпусков. См. Java Богатый документ Разработки и Развертывания Интернет-приложений для последней информации.
Этот раздел затрагивает следующие темы:
Когда апплет кэшируется, он больше не должен быть загружен когда ссылающийся снова. Это уменьшает время запуска апплета. Все типы файла, используемые апплетами Плагина Java, теперь кэшируются.
Альтернативная форма кэширования апплета обеспечивается, который позволяет апплету deployer решать, должен ли апплет быть липким, липкий апплет помещается в дисковый кэш, которым, создаваемый и управляет Плагин Java, который не может перезаписать браузер. Единственное время липкий апплет загружается после кэширования, - то, когда это обновляется на сервере. Иначе апплет всегда доступен для быстрой загрузки. Апплеты, обеспечивающие приложения основного бизнеса, должны быть сделаны липкими, чтобы улучшить производительность запуска.
Эта опция активируется включением cache_archive
, cache_version
, и cache_archive_ex
значения в OBJECT/EMBED
тегируйте как описано ниже.
Отметить
|
Атрибут cache_archive содержит список файлов, которые будут кэшироваться:
<PARAM NAME="cache_archive" VALUE="a.jar,b.jar,c.jar">
Как archive приписывают в теге APPLET, списке .jar
файлы в атрибуте cache_archive не содержат полный URL, но всегда загружаются с codebase.
cache_version является дополнительным атрибутом. Если использующийся, это содержит список версий файла, которые будут кэшироваться:
<PARAM NAME="cache_version" VALUE="1.2.0.1, 2.1.1.2, 1.1.2.7">
Каждый номер версии находится в форме xxxx.xxxx.xxxx.xxxx
, где x
шестнадцатеричное число. Каждый номер версии соответствует соответствующему .jar
файл в cache_archive.
Чтобы позволить предварительно загружать .jar
файлы, параметр HTML cache_archive_ex
может использоваться. Этот параметр позволяет Вам определять ли .jar
файл должен быть предварительно загружен; дополнительно версия .jar
файл может также быть определен. VALUE
для cache_archive_ex
имеет следующий формат:
VALUE="<jar_file_name>;<preload(optional)>;<jar_file_version(optional)>,<jar_file_name>; <preload(optional)>;<jar_file_version(optional)>,..."
Дополнительные теги preload
и jar_file_version
может появиться после jar_file_name
в любом порядке, разделенном разделителем";".",
"разделяет многократные записи.
Следующие шоу, как эти теги могли бы использоваться в странице HTML:
<OBJECT .... <ИМЯ PARAM = "архивируют" ЗНАЧЕНИЕ = "a.jar"> <ИМЯ PARAM = "cache_archive" ОЦЕНИВАЮТ = "b.jar, c.jar, d.jar"> <ИМЯ PARAM = "cache_version" ОЦЕНИВАЮТ = "0.0.0.1, 0.0.2A.1, 0.3D.22. FFFE"> <ИМЯ PARAM = "cache_archive_ex" ОЦЕНИВАЮТ = "applet.jar; предварительная нагрузка, util.jar; предварительная нагрузка; 0.9.0. AC1, tools.jar; 0.9.8.7F"> </ОБЪЕКТ> |
В вышеупомянутом примере, a.jar
определяется в archive
, тогда как b.jar
, c.jar
и d.jar
определяются в cache_archive
. Версии также определяются для b.jar
, c.jar
, и d.jar
как 0.0.0.1
, 0.0.2A.1
, и 0.3D.22.FFFE
, соответственно. В cache_archive_ex
, applet.jar
определяется, чтобы быть предварительно загруженным. util.jar
также определяется, чтобы быть предварительно загруженным, но наряду с версией. Для tools.jar
, только версия определяется.
Плагин Java не сравнивает версии, если они не определяются для весь .jar
файлы определяются в параметре HTML cache_archive
. Если cache_archive
используется без cache_version
, .jar
файлы, определенные в cache_archive
обрабатываются не по-другому чем .jar
файлы определяются в параметре HTML archive
. Подобной обработке дают .jar
файлы, определенные в cache_archive_ex
когда предварительная нагрузка и опции версии не обеспечиваются.
Файлы класса и ресурсы будут искаться в следующем порядке от .jar
файлы определяются параметрами HTML
cache_archive_ex
cache_archive
archive
По умолчанию, без атрибута cache_version, кэширование апплета будет обновлено если:
Однако, в некоторых ситуациях, "Последним образом измененное" значение, возвращенное от веб-сервера до HTTP/HTTPS, возможно, не отражает фактическую версию апплетов. Например, если катастрофические отказы веб-сервера и все файлы восстанавливаются, у cache_archive может быть различная дата модификации на сервере. Даже если cache_archive не был обновлен, он все еще вынудит все клиенты Плагина Java загрузить cache_archive снова.
Чтобы строго осуществить обновление версии, рекомендуется, чтобы апплет deployer использовал атрибут cache_version.
Если cache_version
используется, кэширование апплета будет обновлено, если cache_version для cache_archive будет больше чем тот, сохраненный локально в кэше апплета. Отметьте, что номер версии используется для того, чтобы инициировать обновление; нет никакого фактического номера версии, присоединенного к .jar
файл на веб-сервере. Фактически, если версия не используется, чтобы инициировать обновление, возможно, что апплет на веб-сервере мог быть обновлен без апплета в cache_archive.
Using cache_version избавляет от необходимости соединяться с веб-сервером, чтобы получить "Дату модификации" и "Длиной до контента" из cache_archive. В большинстве случаев это ускорит производительность.
Хотя липкие апплеты кэшируются локально, они будут все еще соответствовать политике безопасности, определенной их исходной кодовой базой и подписывающим лицом.
Плагин Java 6 апплетов может использовать протокол Загрузки Версии JNLP для того, чтобы запуск ресурсы JAR, перечисленные в файле HTML. Управление версиями также поддерживает JarDiff. Чтобы использовать поддержку управления версиями используют archive_x
тегируйте, где x определяет число. Следующее является синтаксисом archive_x
тег.
preload
указать на предварительно загружение файла флягиversion=
используется, чтобы определить строку версии для запроса файла флягиСледующее является различными путями, которыми может использоваться тег archive_x.
<PARAM NAME="archive_1" VALUE="a.jar, preload, version=2.0+">
<PARAM NAME="archive_1" VALUE="a.jar, preload, version=2.0*">
<PARAM NAME="archive_2" VALUE="b.jar, version=0.0.0.3">
ОтметитьТег archive_x игнорируется, если он нашел в пределах cache_archive, cache_version и тег cache_archive_ex. |
Апплеты используя поддержку версии стиля JNLP должны использовать JNLPDownloadServlet, чтобы разместить ресурсы апплета. Больше информации о протоколе Загрузки Версии JNLP и JNLPDownloadServlet доступно в Руководстве по JNLP.
.jar
файлы, определенные в переменной Class-Path декларации использование кэша Плагина Java, в настоящий момент не поддерживаются.codebase
. Полные URL не поддерживаются в cache_archive.java.io.IOException: Caching not supported for
..." бросается, потому что Плагин Java не мог получить даты истечения срока и даты последнего изменения для данного файла JAR от веб-сервера. Если Плагин Java не может получить информацию даты, файл JAR загружается каждый раз, когда это используется.