Spec-Zone .ru
спецификации, руководства, описания, API
|
В файле JNLP кодовая база является дополнительным параметром к <jnlp>
тег. Это используется оба, чтобы определить местоположение ресурсов, описанных в этом файл JNLP, так же как найти файл JNLP непосредственно. Для технических причин Java веб-Запуск не в состоянии обновить содержание файла JNLP от сервера, если абсолютная кодовая база не определяется.
В новом Плагине Java, представленном в Java SE 6 обновлений 10 выпусков, кодовая база всегда обеспечивается браузером, или потому что это было явно определено, или неявно получено из расположения документа 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>
тегируйте, чтобы неявно определить кодовую базу.