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>
тегируйте, чтобы неявно определить кодовую базу.