Java

コードベースの決定
JavaSE 6u10 用

ドキュメント の目次

アプレット開発者ガイド > アプレット配備 > コードベースの決定

目次

コードベースの計算規則

JNLP ファイルでは、コードベースは <jnlp> タグのオプションパラメータです。コードベースは、その JNLP ファイルに記述されているリソースを見つけるためと、その JNLP ファイル自体を検索するための両方の目的に使用されます。技術的な理由から、絶対コードベースが指定されていないかぎり、Java Web Start はサーバーから JNLP ファイルの内容を更新できません。

Java Plug-in では、明示的に指定されたか、または HTML ドキュメントの場所から暗黙的に取得されたかのどちらかの理由で、コードベースが常にブラウザによって提供されます。これにより、JNLP ファイル内で、コンテンツのツリー全体をあるサーバーから別のサーバーに移動する場合に非常に有効な相対 URL を使用できるようになります。

JNLP ファイルは、ツリー構造内のほかの JNLP ファイルを参照します。JNLP アプレットのルート JNLP ファイルは、<applet> タグによって参照されます。APPLET タグのコードベースは、ルート JNLP ファイルの場所を定義するのに役立ちます。

コードベース計算の規則は次のとおりです。

これを、単純な Java の用語で次のように表現できます。

   URL new_codebase = new URL(current_jnlp_dir, current_jnlp_codebase);

このコードベース計算は、JSR-56 の拡張機能ではありません。JSR-56 では、コードベースが絶対コードベースに制限されないため、相対コードベースであってもかまいません

例 1:

   this JNLP's location:   http://www.sun.com/this.jnlp
   this JNLP's codebase:   http://www.foo.com/test/
   resulting codebase for
     parsing this JNLP:    http://www.foo.com/test/

例 2:

   this JNLP's location:   http://www.sun.com/test2/this.jnlp
   this JNLP's codebase:   <none>
   resulting codebase for
     parsing this JNLP:    http://www.sun.com/test2/

例 3:

   this JNLP's location:   http://www.sun.com/this.jnlp
   this JNLP's codebase:   codebasedir
   resulting codebase for
     parsing this JNLP:    http://www.sun.com/codebasedir

例 4:

相対パスは、HTML ファイルのツリーの場合と同様に、入れ子の各 JNLP を参照するために使用されます。

   www.sun.com/html/my_applet.html
     refers to: my_applet.jnlp
     codebase:  www.sun.com/html

     my_applet.jnlp:
       codebase not specified
       inherits "www.sun.com/html"
       references JNLP extension "jogl/jogl.jnlp"

     jogl/
       jogl.jnlp
       codebase not specified
       inherits "www.sun.com/html/jogl"
         (the directory containing jogl.jnlp)
       references gluegen-rt/gluegen-rt.jnlp

       gluegen-rt/
         gluegen-rt.jnlp
         codebase not specified
         inherits "www.sun.com/html/jogl/gluegen-rt"
           (the directory containing gluegen-rt.jnlp)

ベストプラクティス

次のいずれかをお勧めします。


Copyright © 2008 Sun Microsystems, Inc. All Rights Reserved.
フィードバック

Sun
Java Technology