|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Java Богатое Руководство по Интернет-приложениям > Руководство разработчика апплета> Определение Кодовой базы
Следующие темы затрагиваются:
В файле JNLP кодовая база является дополнительным параметром к <jnlp> тег. Это используется оба, чтобы определить местоположение ресурсов, описанных в этом файл JNLP, так же как найти файл JNLP непосредственно. Для технических причин Запускается Сеть Java, не в состоянии обновить содержание файла JNLP от сервера, если абсолютная кодовая база не определяется.
Кодовая база всегда обеспечивается браузером, или потому что это было явно определено, или неявно получено из расположения документа HTML. Это позволяет относительным URL использоваться в файлах JNLP, который очень полезен для перемещения всего дерева контента от одного сервера до другого.
Файлы JNLP ссылаются на другие файлы JNLP в древовидной структуре. На корневой файл JNLP для апплета JNLP ссылаются <applet> тег. Кодовая база тега апплета помогает определить расположение корневого файла JNLP.
Правила для вычисления кодовой базы следующие:
В простых сроках Java это может быть выражено как
URL new_codebase = new URL(current_jnlp_dir, current_jnlp_codebase);
Это вычисление кодовой базы не является расширением JSR-56. JSR-56 не ограничивает кодовую базу, чтобы быть абсолютным, и поэтому это может быть относительно.
Пример 1:
this JNLP's location: http://someserver.example.com/this.jnlp
this JNLP's codebase: http://www.example.com/test/
resulting codebase for
parsing this JNLP: http://www.example.com/test/
Пример 2:
this JNLP's location: http://www.example.com/test2/this.jnlp
this JNLP's codebase: <none>
resulting codebase for
parsing this JNLP: http://www.example.com/test2/
Пример 3:
this JNLP's location: http://www.example.com/this.jnlp
this JNLP's codebase: codebasedir
resulting codebase for
parsing this JNLP: http://www.example.com/codebasedir
Пример 4:
Относительные пути используются, чтобы обратиться к каждому, вкладывал JNLP, так же, как в дереве файлов HTML.
www.example.com/html/my_applet.html
refers to: my_applet.jnlp
codebase: www.example.com/html
my_applet.jnlp:
codebase not specified
inherits "www.example.com/html"
references JNLP extension "jogl/jogl.jnlp"
jogl/
jogl.jnlp
codebase not specified
inherits "www.example.com/html/jogl"
(the directory containing jogl.jnlp)
references gluegen-rt/gluegen-rt.jnlp
gluegen-rt/
gluegen-rt.jnlp
codebase not specified
inherits "www.example.com/html/jogl/gluegen-rt"
(the directory containing gluegen-rt.jnlp)
Мы рекомендуем также:
<applet> тегируйте, чтобы неявно определить кодовую базу.