кэширование на стороне клиента? - PullRequest
1 голос
/ 07 апреля 2009

Можно ли кэшировать файл jar, используемый в апплете на стороне клиента? Я читаю противоречивую информацию:

  • похоже, вы можете установить параметр "кеш" с помощью <object> + <param>

Однако -

  • Я думаю, <applet> является предпочтительным способом? Я не видел никаких атрибутов кэша для тега апплета.

Кто-нибудь знает способ кеширования jar-файлов? В моем апплете нужна сторонняя библиотека размером ~ 130 КБ.

спасибо

Ответы [ 2 ]

2 голосов
/ 07 апреля 2009

Согласно документации по разработке Java-плагина Вы можете использовать параметры cache_archive, cache_version и cache_archive_ex для кэширования ваших апплетов и сторонних библиотек.

Это использование:

<OBJECT .... >
<PARAM NAME="archive" VALUE="a.jar">
<PARAM NAME="cache_archive" VALUE="b.jar, c.jar, d.jar">
<PARAM NAME="cache_version" VALUE="0.0.0.1, 0.0.2A.1, 0.3D.22.FFFE">
<PARAM NAME="cache_archive_ex" VALUE="applet.jar;preload, util.jar;preload;0.9.0.AC1, tools.jar;0.9.8.7F">
</OBJECT>

Также на этой странице есть предупреждение:

.jar файлы, указанные в архиве атрибут также кэшируется в этом липкий кеш.

В случае, если это механизм кэширования апплета у вас не работает, проверьте он был отключен в другом месте, например, как через API. Убедись, что ты не отключили URLConnection кеширование через API: URLConnection.setUseCaches и URLConnection.SetDefaultUseCaches

1 голос
/ 10 апреля 2009

Апплеты кэшируются по умолчанию на клиентском компьютере, нет необходимости перезаписывать его IMO.

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

Для контроля версий я просто загружаю банку с URL-адреса, содержащего номер версии.

...