FUJITSU Software Interstage Studio J Business Kit 解 説 書 B1WD-3187-01Z0(00) 2013 年 6 月
まえがき 本 書 の 目 的 J Business Kit( 以 降 JBKと 略 記 )は Javaによる 各 種 アプリケーションを 作 成 する 上 で 有 効 な 業 務 支 援 ライブラリ 業 務 支 援 ツールおよ び 運 用 支 援 ツールで 構 成 される 業 務 システム 開 発 キットです J Business Kitには Javaプログラムを 開 発 する 環 境 (JBK 開 発 環 境 )とJavaプログラムを 実 行 運 用 する 環 境 (JBK 運 用 環 境 )があります 本 書 では JBK 開 発 環 境 上 で 開 発 を 行 うにあたって J Business Kitの 取 り 扱 い 使 用 上 の 注 意 事 項 および JBK 運 用 環 境 を 含 めた 情 報 などを 説 明 しています 構 成 と 読 み 方 本 書 の 構 成 は 以 下 のようになっています 第 1 章 JBKの 概 要 JBKの 概 要 について 説 明 しています 第 2 章 JBKプラグイン JBKプラグインについて 説 明 しています 第 3 章 GUIライブラリ GUIライブラリについて 説 明 しています 第 4 章 ダウンロードインストーラ ダウンロードインストーラについて 説 明 しています 第 5 章 注 意 事 項 JBK 全 体 の 注 意 事 項 について 説 明 しています 登 録 商 標 について Microsoft Active Directory ActiveX Excel Internet Explorer MS-DOS MSDN Visual Basic Visual C++ Visual Studio Windows Windows NT Windows Server Win32 は 米 国 およびその 他 の 国 における 米 国 Microsoft Corporationの 商 標 または 登 録 商 標 です OracleとJavaは Oracle Corporation およびその 子 会 社 関 連 会 社 の 米 国 およびその 他 の 国 における 登 録 商 標 です 文 中 の 社 名 商 品 名 等 は 各 社 の 商 標 または 登 録 商 標 である 場 合 があります その 他 の 記 載 されている 商 標 および 登 録 商 標 については 一 般 に 各 社 の 商 標 または 登 録 商 標 です なお 本 文 中 では (R)およびTMは 略 記 しています 2013 年 6 月 改 版 履 歴 2012 年 12 月 初 版 2013 年 6 月 第 2 版 - i -
目 次 第 1 章 JBKの 概 要...1 1.1 JBKとは...1 1.2 動 作 対 象 のJava SE...1 1.3 インストール 構 成...1 第 2 章 JBKプラグイン...3 2.1 JBKプラグインとは...3 2.1.1 Oracle 社 のJava Plug-in...4 2.2 使 用 のための 準 備...5 2.2.1 環 境 設 定...5 2.2.2 使 用 するための 手 順...7 2.2.3 HTMLファイルの 作 成...7 2.3 使 用 方 法...10 2.3.1 Java VMの 指 定...13 2.3.2 Java VMの 起 動 オプションの 指 定...14 2.3.3 セキュリティレベルの 設 定...15 2.3.4 プロキシの 設 定...17 2.3.5 Javaコンソールの 表 示...19 2.3.6 アプレットのダウンロード 方 式 の 指 定...22 2.3.7 HTTPSプロトコルの 使 用...23 2.3.8 アプレットのダウンロード 状 態 の 表 示...24 2.3.9 Java VMの 先 行 起 動...25 2.3.10 アプレットのアクティブ/ 非 アクティブ 状 態 の 通 知...27 2.3.11 アプレットへの 終 了 問 合 せ...31 2.3.12 設 定 ファイルの 切 り 替 え...33 2.3.13 アプレットの 独 自 キャッシュ...34 2.3.14 ダウンロード 通 知 機 能...39 2.3.15 JavaScriptとの 通 信...41 2.3.15.1 アプレットからのJavaScript 呼 出 し...41 2.3.15.2 JavaScriptからアプレットのメソッド 呼 出 し...44 2.3.15.3 Cookieアクセス...49 2.4 ブラウザのプロセスとJava VMの 関 係...49 2.5 アプレット 終 了 時 の 処 理...50 2.6 アプレット 印 刷 機 能...51 2.7 注 意 事 項...51 2.8 エラーメッセージ 一 覧...54 2.9 jbkplugin.properties...58 2.10 インストールしたJBKプラグインを 判 別 する 方 法...62 第 3 章 GUIライブラリ... 65 3.1 日 本 語 入 力...65 3.2 ユーザ 定 義 文 字 の 表 示...66 3.3 Webブラウザからの 連 続 印 刷...66 3.4 補 助 文 字 の 入 力...67 3.5 Java SEに 起 因 する 問 題 点...67 第 4 章 ダウンロードインストーラ... 68 4.1 ダウンロードインストーラとは...68 4.2 インストーラの 作 成 方 法...69 4.2.1 ソフトウェアの 用 意...69 4.2.2 作 成 手 順...69 4.3 インストーラの 実 行 方 法...71 4.4 サイレントインストール 機 能...73 4.5 ダウンロードインストーラの 注 意 事 項...74 - ii -
第 5 章 注 意 事 項...76 5.1 セキュリティ 上 の 注 意 事 項...76 5.2 使 用 条 件 補 足...76 用 語 集...77 - iii -
第 1 章 JBKの 概 要 JBKでは 既 存 アプリケーション 資 産 を 活 用 したJavaアプリケーションを 効 率 的 に 開 発 運 用 する 際 に 有 用 なライブラリとツールを 提 供 します 1.1 JBKとは JBKには Javaプログラムを 開 発 する 環 境 (JBK 開 発 環 境 )とJavaプログラムを 実 行 運 用 する 環 境 (JBK 運 用 環 境 )があります JBK 開 発 環 境 をインストールしたマシンでJavaプログラムを 開 発 し JBK 運 用 環 境 をインストールしたマシンでJavaプログラムを 実 行 運 用 することができます JBK 開 発 環 境 JBK 開 発 環 境 とは JBK 運 用 環 境 で 実 行 運 用 するJavaプログラムを 開 発 する 環 境 です Javaアプリケーションを 効 率 的 に 開 発 するた め 各 種 クラスライブラリを 提 供 します 対 象 製 品 Interstage Studio Standard-J Edition 機 能 - GUIライブラリ - JBKプラグイン - ダウンロードインストーラ JBK 運 用 環 境 JBK 運 用 環 境 とは JBK 開 発 環 境 で 開 発 したJavaプログラムを 実 行 運 用 する 環 境 です 開 発 したJavaアプリケーションの 効 率 的 な 運 用 を 支 援 するツールを 提 供 します 対 象 製 品 Interstage Studio クライアント 運 用 パッケージ 機 能 - GUIライブラリ - JBKプラグイン 1.2 動 作 対 象 のJava SE JBKの 動 作 には 以 下 のJava SEが 必 要 です JBK V6.3 製 品 添 付 のJava SE 6で 動 作 を 保 証 します JBK V7.1 製 品 添 付 のJava SE 7で 動 作 を 保 証 します 製 品 添 付 のJava SE 製 品 には Oracle 社 のライセンスを 受 けた 上 で 富 士 通 で 機 能 強 化 および 障 害 修 正 を 実 施 したJava SEが 含 まれています JBKは 製 品 添 付 のJava SEでのみ 動 作 します Oracle 社 提 供 のJava SEでは 動 作 しません 1.3 インストール 構 成 - 1 -
フォルダ 構 成 JBKをインストールした 場 合 のJBK 開 発 環 境 のフォルダ 構 成 を 以 下 に 示 します 製 品 インストール 先 IDE\1101\JBK bin classes gui6 gui7 examples Windows 部 品 を 格 納 各 ライブラリおよびツールのjarファイルを 格 納 JRE6 用 のGUIライブラリのjarファイルを 格 納 JRE7 用 のGUIライブラリのjarファイルを 格 納 各 ライブラリのサンプルプログラムを 格 納 環 境 変 数 JBKの 動 作 に 必 要 な 環 境 変 数 は 以 下 のとおりです CLASSPATH: 製 品 インストール 先 \IDE\1101\JBK\gui6\jbkgui.jar 上 記 の 環 境 変 数 は インストール 時 にシステム 側 環 境 に 設 定 します java.policyファイルの 設 定 インストーラ 時 に 製 品 インストール 先 \IDE\jre\lib\security\java.policyに 以 下 の 情 報 を 追 加 します grant codebase "file:/( 製 品 インストール 先 )/IDE/1101/JBK/gui6/jbkgui.jar" { permission java.security.allpermission; }; grant codebase "file:/( 製 品 インストール 先 )/IDE/1101/JBK/examples/-" { permission java.security.allpermission; }; - 2 -
第 2 章 JBKプラグイン JBKプラグインについて 説 明 します 2.1 JBKプラグインとは Webブラウザ 上 でのアプレットの 実 行 をサポートするための 機 能 を 提 供 します Webブラウザで 製 品 添 付 のJava SEを 使 用 するには JBKプラグインまたはJava Plug-inのどちらかが 必 要 になります JBKプラグインの 使 用 を 推 奨 します JBKプラグインを 用 いると ブラウザが 提 供 するJava VMの 代 わりに 製 品 添 付 のJava SEを 使 用 してアプレットを 実 行 することができま す これにより ブラウザによるJava VMのバージョンの 違 いまたは 動 作 の 非 互 換 を 気 にすることなく アプレットを 実 行 できるようになり ます 図 2.1 JBKプラグインの 動 作 概 要 図 関 連 ソフトウェア JBKプラグインが 動 作 可 能 なブラウザは 次 のとおりです Internet Explorer 7~10 すべてWindows 製 品 です 各 ブラウザがどのWindowsで 動 作 保 証 されているかは 各 ブラウザのドキュメントを 参 照 してください 注 意 新 しいWindows UIバージョンのInternet Explorer 10では 動 作 しません 新 しいWindows UIバージョンのInternet Explorer 10でJBKプラグインが 埋 め 込 まれたHTMLページを 表 示 した 場 合 該 当 部 分 は 何 も 表 示 されません この 場 合 アプリバーの[ページツール] > [デスクトップで 表 示 する]を 選 択 して デスクトップ 版 のInternet Explorerの 表 示 に 切 り 替 えて 使 用 してください - 3 -
2.1.1 Oracle 社 のJava Plug-in ブラウザ 上 でのアプレット 実 行 をサポートするためのツールとしては Oracle 社 のJava Plug-inがあります Java Plug-inを 使 用 する 上 での 注 意 事 項 同 一 のブラウザのプロセス 内 で Java Plug-inとJBKプラグインを 一 緒 に 使 用 することはできません この2つを 一 緒 に 使 用 しようとす ると Java Plug-inあるいはJBKプラグインが 誤 動 作 を 起 こす 可 能 性 があります どちらかのみを 使 用 するようにしてください Oracle 社 のJava Plug-inとJBKプラグインの 違 い JBKプラグインが 提 供 する 機 能 は 基 本 的 にはJava Plug-inが 提 供 する 機 能 と 同 じですが 以 下 の 点 で 異 なります 追 加 のポリシーファイルの 指 定 が 可 能 Java SEでは セキュリティ 設 定 用 に 新 たにポリシーファイルと 呼 ばれる 設 定 ファイルが 導 入 されました JBKプラグインでは プラグ イン 使 用 時 に 追 加 のポリシーファイルを 設 定 することができます このため JBKプラグインのポリシーファイルを 使 用 することによ り 使 用 するJava SEを 切 り 替 えた 場 合 やJava SEを 再 インストールした 場 合 にも デフォルトのポリシーファイルに 設 定 を 記 述 し 直 す ことなく 常 に 同 じ 設 定 が 使 用 できるようになります セキュリティレベルの 設 定 方 法 は 2.3.3 セキュリティレベルの 設 定 を 参 照 してください Java VMの 先 行 起 動 が 可 能 ブラウザ 上 でアプレットを 実 行 する 場 合 には 初 回 実 行 時 にJava VMの 起 動 が 必 要 です 一 般 的 には Java VMの 起 動 には 数 秒 ~ 数 十 秒 かかり この 間 ブラウザがユーザの 操 作 を 全 く 受 け 付 けなくなることもあります JBKプラグインを 用 いると HTMLファイルの 記 述 方 法 により アプレットを 実 行 せずにJava VMだけを 起 動 する ということが 可 能 になります Java VMの 起 動 はバックグラウンドで 行 われますので この 場 合 Java VMの 起 動 中 にブラウザがユーザの 操 作 を 受 け 付 けなくなる ということはありません これにより 次 のような 使 用 方 法 が 可 能 になります a. アプレットを 実 行 するHTMLファイルとは 別 に Java VMのみを 起 動 するHTMLファイルを 作 成 します このHTMLファイルで は アプレットの 実 行 前 に 行 える 処 理 (アプリケーションのタイトルページの 表 示 お 知 らせの 表 示 あるいは ユーザからの 何 らかの 入 力 要 求 など)を 同 時 に 行 うようにします b. ブラウザを 起 動 し a.で 作 成 したHTMLファイルを 始 めに 読 み 込 ませます ブラウザの 画 面 上 では このHTMLファイルに 記 述 されているアプレット 実 行 前 の 処 理 が 実 行 されます この 間 に JBKプラグインはバックグラウンドでJava VMを 起 動 しま す したがって Java VMの 起 動 がブラウザの 画 面 上 の 処 理 を 妨 げることはありません c. アプレット 実 行 前 の 処 理 が 終 了 したら 次 にアプレットを 実 行 するHTMLファイルを 呼 び 出 します JBKプラグインによるJava VMの 起 動 が 完 了 している 場 合 には すぐにアプレットのダウンロードが 開 始 されます ユーザがJava VMの 起 動 完 了 を 待 つ 必 要 はありません Java VMの 先 行 起 動 の 方 法 は 2.3.9 Java VMの 先 行 起 動 を 参 照 してください アプレットのアクティブ/ 非 アクティブ 状 態 の 通 知 ブラウザ 上 でアプレットを 実 行 する 場 合 には 1つのブラウザウィンドウ 上 に 複 数 のアプレットを 置 いて 実 行 することができます この ため ブラウザウィンドウのアクティブ 状 態 と 各 アプレットのアクティブ 状 態 は 必 ずしも 一 致 しません JBKプラグインでは アプレットのアクティブ 状 態 を 独 自 に 定 め そのアクティブ 状 態 が 切 り 替 わるタイミングをアプレットに 通 知 する 機 能 を 提 供 しています 複 数 のアプレットからなるシステムで アプレットごとに 動 作 環 境 を 切 り 替 えたい 場 合 などに この 通 知 を 使 用 すると 便 利 です また ダイアログなどのポップアップウィンドウを 表 示 して そのウィンドウを 閉 じたときにアプレットをアクティブ 化 させることなどにも 利 用 できます アプレットのアクティブ 状 態 の 通 知 の 詳 細 は 2.3.10 アプレットのアクティブ/ 非 アクティブ 状 態 の 通 知 を 参 照 してください アプレットへの 終 了 問 い 合 わせ JBKプラグインは ユーザがブラウザのウィンドウを 閉 じようとしたときに そのウィンドウ 上 で 実 行 しているアプレットに 対 して 終 了 の 問 合 せを 行 う 機 能 を 提 供 しています この 機 能 を 使 用 するアプレットは JBKプラグインからの 終 了 問 合 せに 対 して 終 了 の 許 可 / 不 許 可 を 返 答 することができます アプレットへの 終 了 問 い 合 わせの 方 法 は 2.3.11 アプレットへの 終 了 問 合 せ を 参 照 してください - 4 -
設 定 ファイルの 切 り 替 え 設 定 ファイルを 複 数 用 意 し JBKプラグイン 用 のHTMLファイルで 呼 び 分 けることにより 異 なる 設 定 のJBKプラグインを 同 一 クライ アント 上 で 動 作 させることが 可 能 です これにより 2つのブラウザにそれぞれ 異 なるJREを 指 定 した 設 定 ファイルを 読 み 込 ませ 異 なるバージョンのVMを 使 用 してアプ レットを 実 行 するという 使 い 方 も 可 能 となります 設 定 ファイルの 切 り 替 えの 方 法 は 2.3.12 設 定 ファイルの 切 り 替 え を 参 照 してください これらの 機 能 が 必 要 とされる 場 合 には JBKプラグインの 使 用 をお 勧 めします 参 照 Java Plug-inの 詳 細 は 以 下 を 参 照 してください Oracle 社 の JAVA PLUG-IN TECHNOLOGY (http://www.oracle.com/technetwork/java/index-jsp-141438.html) 2.2 使 用 のための 準 備 JBKプラグインを 使 用 するための 準 備 方 法 を 説 明 します 2.2.1 環 境 設 定 JBKプラグインを 使 用 するための 環 境 設 定 の 方 法 を 説 明 します JBKプラグインを 使 用 してアプレットを 実 行 するためには 以 下 の4 点 の 確 認 が 必 要 です 必 要 なソフトウェア アプレットを 実 行 するクライアントマシンに 以 下 がインストールされている 必 要 があります Webブラウザ JDKまたはJRE JBKプラグイン これらの 製 品 の 実 行 環 境 の 設 定 方 法 は それぞれの 製 品 の 説 明 書 を 参 照 してください アプレットのクラスとHTMLファイルの 格 納 アプレットのクラスおよびアプレットを 実 行 するためのHTMLファイルの 格 納 方 法 は ブラウザで 通 常 アプレットを 実 行 する 場 合 の 格 納 方 法 と 同 じです アプレットの 実 行 方 法 に 応 じて 以 下 のどちらかの 方 法 で 格 納 してください アプレットのクラスとHTMLファイルをWebサーバに 格 納 します アプレットはクライアントマシンにダウンロードされて 実 行 されます アプレットのクラスとHTMLファイルをクライアントマシンに 格 納 します アプレットはクライアントマシンのローカル 環 境 内 で 実 行 され ます JBKプラグインを 使 用 する 場 合 には HTMLファイル 内 でアプレットを 指 定 する 部 分 に JBKプラグイン 用 のタグを 記 述 します JBKプラ グイン 用 のHTMLファイルの 記 述 方 法 は 2.2.3 HTMLファイルの 作 成 を 参 照 してください ブラウザの 設 定 使 用 するブラウザに 応 じて 以 下 の 設 定 が 必 要 になります JBKプラグインのコントロールモジュール JBKプラグインのコントロールモジュール(f5cxwpie.ocx)は 従 来 はシングルスレッドモデルで 作 成 していました しかし Internet Explorer 5 以 降 の 環 境 で 使 用 した 場 合 新 規 ウィンドウを 開 いてそこでアプレットを 表 示 した 場 合 にアプレットが 正 しく 表 示 されない という 問 題 が 発 生 することがあります このため f5cxwpie.ocxをアパートメントスレッドモデルで 作 成 するように 変 更 しました 従 来 の シングルスレッドモデルのモジュールは [JBKインストール 先 ]\bin\single フォルダに 格 納 されています シングルスレッドモデルの - 5 -
コントロールモジュールを 使 用 する 際 は [JBKインストール 先 ]\bin\f5cxwpie.ocx と 入 替 え 以 下 のコマンドを 必 ず 実 行 してくだ さい regsvr32 /u [JBKインストール 先 ]\bin\f5cxwpie.ocx regsvr32 [JBKインストール 先 ]\bin\f5cxwpie.ocx シングルスレッドモデルのコントロールモジュールからアパートメントスレッドモデルのコントロールモジュールに 戻 す 場 合 も 上 記 の コマンドを 必 ず 実 行 してください 環 境 変 数 の 設 定 JBKプラグインは 使 用 時 にクライアントマシンの 以 下 の 環 境 変 数 を 使 用 します すでに 設 定 されている 場 合 は そのままでかまいませ ん CLASSPATH アプレットの 実 行 に 必 要 なJavaクラスがクライアントマシンにインストールされている 場 合 は そのJavaクラスに 対 するクラスパスを 追 加 してください JBKプラグインは Java Plug-inとは 異 なり デフォルトでは 実 行 時 にCLASSPATH 環 境 変 数 を 利 用 します Java VMを 使 用 する 場 合 のクラスパスの 設 定 Java VMが 使 用 するクラスパスには Java VMの 起 動 に 必 要 なブートストラップクラスパスと アプレット 実 行 のために 指 定 するユーザク ラスパスがあります JBKプラグインは 実 行 時 に 内 部 で 独 自 にブートストラップクラスパスを 設 定 します 独 自 に 設 定 するブートストラップクラスパスの 内 容 および 設 定 順 は 以 下 のとおりです 1. JBKプラグインのクラスをまとめたJARファイル (JBKインストールフォルダ)\classes\jbkplugin2.jar または (JBKインストールフォルダ)\classes\jbkplugin4.jar のことです 2. Java VMの 起 動 オプションに -Xbootclasspath が 指 定 されている 場 合 : 起 動 オプションに 指 定 されたブートストラップクラスパス Java VMの 起 動 オプションに -Xbootclasspath が 指 定 されていない 場 合 :Java VMとして 使 用 するJava SEのデフォルトのブート ストラップクラスパス Java SEのデフォルトのブートストラップクラスパスは そのJava SEが 使 用 する rt.jar i18n.jar jce.jar jsse.jar および charsets.jar へのパスとなります ユーザクラスパスには 以 下 が 使 用 されます Java VMの 起 動 オプションに -classpath あるいは -cp が 指 定 されている 場 合 起 動 オプションに 指 定 されたクラスパス Java VMの 起 動 オプションに -classpath あるいは -cp が 指 定 されていない 場 合 環 境 変 数 CLASSPATH に 設 定 されているクラスパス Java Plug-inのように 環 境 変 数 CLASSPATH を 使 用 しない 場 合 はjbkplugin.propertiesファイルに 以 下 のプロパティを 設 定 することに より 環 境 変 数 CLASSPATH の 設 定 を 無 効 にできます jbk.plugin.sw.classpath.use_env=< 環 境 変 数 CLASSPATH の 使 用 > < 環 境 変 数 CLASSPATH の 使 用 >には 以 下 のどちらかを 指 定 してください true false Java VMの 起 動 時 に 環 境 変 数 CLASSPATH の 設 定 を 使 用 します Java VMの 起 動 時 に 環 境 変 数 CLASSPATH の 設 定 を 使 用 しません なお デフォルト 状 態 では jbk.plugin.sw.classpath.use_envの 値 はtrue( 使 用 する)に 設 定 されています 注 意 起 動 オプションの -Xbootclasspath の 指 定 - 6 -
起 動 オプションの -Xbootclasspath の 指 定 には 使 用 するJava SEと 異 なるバージョンのブートストラップクラスパスを 含 めないようにし てください そうしないと Java VMの 実 行 時 に 異 なるバージョンのクラスが 呼 び 出 されてしまい Java VMの 誤 動 作 あるいは 実 行 時 に エラーを 引 き 起 こす 可 能 性 があります また 環 境 変 数 CLASSPATH に 存 在 するクラスをアプレット 実 行 時 にWebサーバからダウン ロードした 場 合 は セキュリティ 例 外 が 発 生 することがあります その 場 合 はJava VMの 起 動 オプションに-classpathオプションを 追 加 し てクラスパスを 設 定 しなおすか 上 記 のプロパティを false に 設 定 してください 2.2.2 使 用 するための 手 順 JBKプラグインを 用 いてブラウザ 上 でアプレットを 実 行 するために 必 要 な 手 順 は 次 のとおりです 1. アプレットのクラスを 作 成 します 通 常 のアプレットのクラスの 作 成 方 法 と 同 じです 2. アプレットを 実 行 するためのHTMLファイルを 作 成 します 通 常 アプレットを 実 行 するためにはHTMLファイルに<APPLET>タグを 記 述 しますが JBKプラグインを 使 用 する 場 合 には <APPLET>タグの 代 わりにJBKプラグイン 用 のタグを 記 述 します JBKプラグイン 用 のHTMLファイルの 記 述 方 法 は 2.2.3 HTML ファイルの 作 成 を 参 照 してください 3. 作 成 したアプレットのクラスとHTMLファイルをWebサーバに 格 納 します 通 常 の 格 納 方 法 と 同 じです 4. クライアントマシンでブラウザを 起 動 し Webサーバに 格 納 したHTMLファイルを 読 み 込 みます HTMLファイルを 読 み 込 ませる には そのHTMLファイルの 格 納 場 所 を 表 すURLをブラウザに 入 力 します ブラウザは JBKプラグイン 用 のタグが 記 述 されているHTMLファイルを 読 み 込 むと 自 動 的 にJBKプラグインを 起 動 します 後 は JBKプラグインがアプレットのクラスをダウンロードし ブラウザが 提 供 するJava VMの 代 わりに 他 のフォルダにインストールさ れたJava VMを 使 用 して ブラウザ 上 でアプレットを 実 行 します 2.2.3 HTMLファイルの 作 成 JBKプラグインを 使 用 するためのHTMLファイルの 作 成 方 法 を 説 明 します 記 述 方 法 は 使 用 するブラウザにより 異 なります 以 下 の 説 明 に 従 って JBKプラグイン 用 のHTMLファイルを 作 成 してください <APPLET>タグによるアプレットの 指 定 方 法 の 詳 細 は JDKのドキュメントを 参 照 してください なお JBKプラグインで 使 用 可 能 な <APPLET>タグの 属 性 の 詳 細 は サポートしている<APPLET>タグの 属 性 を 参 照 してください Internet Explorer 用 のHTMLファイルの 作 成 方 法 Internet ExplorerでJBKプラグインを 使 用 する 場 合 のHTMLファイルの 作 成 方 法 を 次 に 示 します 1. <APPLET>...</APPLET>タグの 代 わりに <OBJECT>...</OBJECT>タグを 使 用 します 2. <OBJECT>タグのCLASSID 属 性 に CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67 を 指 定 します この 指 定 により Internet ExplorerがJBKプラグインを 自 動 的 に 実 行 するようになります 3. <OBJECT>...</OBJECT>タグの 間 に 以 下 の<PARAM>タグを 記 述 します <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> 4. <APPLET>タグに 指 定 する 属 性 のうち 以 下 の 属 性 はそのまま<OBJECT>タグの 中 に 記 述 します - WIDTH HEIGHT( 必 須 属 性 ) - ALIGN HSPACE VSPACE(オプション 属 性 ) 5. <APPLET>タグに 指 定 する 属 性 のうち 上 記 以 外 の 属 性 は<OBJECT>...</OBJECT>の 間 に<PARAM>タグを 用 いて 記 述 しま す このとき <PARAM>タグの 記 述 方 法 は <PARAM NAME=" 属 性 名 " VALUE=" 属 性 値 ">となります 6. アプレットに 渡 すパラメータの 指 定 (<APPLET>...</APPLET> 間 の<PARAM>タグによる 指 定 )は そのままの 形 式 で<OBJECT>...</ OBJECT>の 間 に 記 述 します - 7 -
アプレットにフォーカスが 設 定 されている 場 合 ブラウザのショートカットキーは 無 効 になります Internet Explorerでは アプレットを 表 示 しているページを Ctrl + N で 新 規 ウィンドウで 開 いた 場 合 アプレットにフォーカスが 設 定 され ショートカットキーが 無 効 になるこ とがあります アプレットにフォーカスを 設 定 したくない 場 合 は <BODY>タグに onload="window.focus()" というイベントハンドラを 設 定 してくださ い また アプレットへのタブ 移 動 を 抑 止 したい 場 合 は <OBJECT>タグに"tabIndex=-1"というプロパティを 設 定 してください 例 Internet Explorer 用 のHTMLファイルの 記 述 例 <APPLET>タグの 記 述 を Internet ExplorerでJBKプラグインを 使 用 するための 記 述 形 式 に 変 更 する 例 を 次 に 示 します <APPLET>タグによる 記 述 例 (JBKプラグインを 使 用 しない 場 合 ) <APPLET NAME="sample" CODE="Sample.class" ARCHIVE="sample.jar" WIDTH=100 HEIGHT=100> <PARAM NAME="color" VALUE="blue"> <PARAM NAME="useDefault" VALUE="true"> </APPLET> JBKプラグインを 使 用 するための 記 述 形 式 (Internet Explorer 用 ) <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=100 HEIGHT=100> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="NAME" VALUE="sample"> <PARAM NAME="CODE" VALUE="Sample.class"> <PARAM NAME="ARCHIVE" VALUE="sample.jar"> <PARAM NAME="color" VALUE="blue"> <PARAM NAME="useDefault" VALUE="true"> </OBJECT> 非 表 示 状 態 のアプレットを 使 用 する 場 合 HTMLで<object> 要 素 を 非 表 示 にするには 以 下 の 方 法 があります 方 法 1 width=0,height=0でobjectタグを 生 成 する この 場 合 画 面 は 見 えなくなりますが アプレット 起 動 により 画 面 がフォーカスを 持 ってしまったり HTML 上 でのタブ 切 り 替 え(Tab 押 下 )にてアプレットにフォーカスが 設 定 されてしまう 場 合 があります 方 法 2 そのため objectにtabindex=-1という 属 性 を 設 定 して その 画 面 にフォーカスを 移 動 させないようにしてください <object>タグを 囲 む<div>タグを 用 意 し 表 示 スタイルを 非 表 示 にする(display=noneまたはvisibility=hidden) ただし 最 初 から 非 表 示 状 態 の 場 合 は JBKプラグインのコントロールが 生 成 されず アプレットが 開 始 されません 最 初 は 表 示 状 態 で 生 成 し その 後 に 表 示 スタイルを 非 表 示 状 態 にしてください 注 意 アプレットの 起 動 時 に 非 表 示 状 態 の 場 合 は アプレットが 起 動 できない 場 合 があります 以 下 の 条 件 に 適 合 する 場 合 はアプレットが 開 始 できなくなります - <object>タグをスクリプトで 挿 入 している かつ - 同 じイベントハンドラ 上 で 表 示 スタイルを 非 表 示 状 態 にした 場 合 - 8 -
JBKプラグインは ウィンドウのサイズが 確 定 した 後 アプレットを 生 成 しています しかし 上 記 条 件 の 場 合 は objectのウィンドウの 大 きさが 通 知 される 前 に 非 表 示 状 態 となるため アプレットの 子 ウィンドウの 生 成 が 開 始 できない 状 態 になっています この 場 合 は 表 示 スタイルを 非 表 示 状 態 にする 処 理 を スクリプトのsetTimeout() 関 数 を 使 用 して 次 のイベントとして 処 理 させてください サポートしている<APPLET>タグの 属 性 JBKプラグインでは 以 下 の<APPLET>タグの 属 性 が 指 定 できます 必 須 属 性 アプレットを 実 行 するために 必 ず 指 定 する 属 性 です 属 性 名 CODE WIDTH HEIGHT アプレットのクラス 名 を 指 定 します 説 明 アプレットの 幅 を 指 定 します style 属 性 でWIDTH 属 性 を 指 定 しないでください アプレットの 高 さを 指 定 します style 属 性 でHEIGHT 属 性 を 指 定 しないでください オプション 属 性 必 要 に 応 じて 指 定 する 属 性 です オプション 属 性 の 指 定 は 省 略 可 能 です 属 性 名 ALIGN 説 明 アプレットの 配 置 を 指 定 します 以 下 の 指 定 が 可 能 です top:アプレットの 上 端 をテキストの 上 端 に 揃 えます bottom:アプレットの 下 端 をテキストの 下 端 に 揃 えます left:アプレットをブラウザの 左 端 に 配 置 し その 右 側 にテキストを 表 示 します right:アプレットをブラウザの 右 端 に 配 置 し その 左 側 にテキストを 表 示 します ARCHIVE CODEBASE HSPACE NAME VSPACE アプレットのクラスが 含 まれているJARファイルを 指 定 します アプレットのクラスのダウンロード 元 となるURLを 指 定 します HTMLファイルとアプレットのクラスのダウンロード 元 が 異 なる 場 合 に 指 定 します アプレットの 左 右 のスペースを 指 定 します アプレットの 名 前 を 指 定 します アプレットの 上 下 のスペースを 指 定 します 注 意 属 性 名 およびパラメータ 名 の 大 文 字 小 文 字 の 扱 い <APPLET>タグの 属 性 をJBKプラグイン 用 のHTMLファイルに 記 述 する 場 合 には <APPLET>タグ 内 に 記 述 する 場 合 と 同 様 属 性 名 の 大 文 字 小 文 字 は 区 別 されません 例 えば アプレットのクラス 名 を 指 定 する 場 合 には 属 性 名 は CODE と code のどちら で 記 述 してもかまいません JBKプラグインを 使 用 してアプレットを 実 行 する 場 合 には アプレットに 渡 すパラメータ 名 の 大 文 字 小 文 字 は 区 別 されません ポイント Java Plug-inとのHTMLファイルの 互 換 性 - 9 -
JBKプラグインを 使 用 するためのHTMLファイルは Oracle 社 のJava Plug-inを 使 用 するためのHTMLファイルとの 互 換 性 を 考 慮 してい ます Java Plug-inを 使 用 するためのHTMLファイルを 用 いてJBKプラグインを 使 用 したい 場 合 には HTMLファイル 内 の 以 下 の 箇 所 を 変 更 するだけでかまいません Java Plug-inを 使 用 するためのHTMLファイルに 記 述 されている<OBJECT>タグのCLASSID 属 性 を CLSID:BEA62964- C40B-11D1-AACA-00A0C9216A67 に 変 更 してください <OBJECT>タグ 内 に 以 下 のようなCODEBASE 属 性 の 記 述 がある 場 合 は その 記 述 を 取 り 除 いてください codebase= Java Plug-inのダウンロード 元 URL Java Plug-inのダウンロード 元 URL の 部 分 には Java Plug-inをダウンロードするためのURLが 記 述 されています 例 えば Java Plug-in 1.5.0では Java Plug-inのダウンロード 元 URL の 部 分 には 以 下 のようなURLが 記 述 されています(このURLの 記 述 は Java Plug-inのバージョンアップにより 変 更 される 可 能 性 があります) http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab#version=1,5,0,0 <OBJECT>...</OBJECT>タグの 間 に 以 下 のような<PARAM>タグが 記 述 されているかどうかを 確 認 してください <PARAM NAME="type" VALUE= Java Plug-inの 型 情 報 > Java Plug-inの 型 情 報 の 部 分 には Java Plug-inが 内 部 で 使 用 する 型 情 報 が 以 下 のいずれかの 形 式 で 記 述 されています(これら の 型 名 は Java Plug-inのバージョンアップにより 変 更 される 可 能 性 もあります) a. application/x-java-applet b. application/x-java-applet;version=nnn c. application/x-java-bean d. application/x-java-bean;version=nnn (nnnは Java Plug-inのバージョン 番 号 ) このようなタグが 記 述 されている 場 合 は この<PARAM>タグを 以 下 の 記 述 に 置 き 換 えてください このようなタグが 記 述 されていな い 場 合 は <OBJECT>...</OBJECT>タグの 間 に 以 下 の<PARAM>タグの 記 述 を 追 加 してください <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> 2.3 使 用 方 法 JBKプラグインに 関 する 設 定 情 報 は jbkplugin.propertiesというファイルに 記 述 されています jbkplugin.propertiesは JBKをインストー ルしたフォルダの 下 の classes というフォルダの 中 にあります JBKプラグインの 設 定 を 変 更 する 場 合 には jbkplugin.propertiesをテ キストエディタで 編 集 して 設 定 内 容 を 変 更 してください 表 2.1 jbkplugin.propertiesの 設 定 例 ##************************************************************************ ##* J Business Kit: Copyright FUJITSU LIMITED 2012 ##* All Rights Reserved ##* ##* jbkplugin.properties ##************************************************************************ # '#'で 始 まる 行 はコメント 行 # # 注 意 事 項 : # 1 行 の 最 大 桁 数 は1024バイトです # Windows Vista/Windows 7で 保 護 モードが 有 効 なサイトのアプレットを 使 用 する # 場 合 保 存 / 出 力 フォルダはユーザディレクトリのAppData\LocalLow 下 を 指 定 して # ください # インストールフォルダが 空 白 を 含 む 場 合 jbk.plugin.policy.urlに # ${jbk.home}を 使 用 しないでください ポリシーファイルの 読 み 込 みに 失 敗 します - 10 -
# Java VMの 指 定 # 以 下 はJava VMの 指 定 例 です #jbk.plugin.javahome=c:\jdk6 # あるいは #jbk.plugin.javahome=c:\jdk7 # VMの 起 動 オプションの 指 定 # 以 下 は 起 動 オプションの 指 定 例 です jbk.plugin.vmoption=-dsun.java2d.noddraw=true # JBKプラグインで 使 用 するポリシーファイルの 指 定 # (この 設 定 はJava2のVM 使 用 時 のみ 有 効 です) jbk.plugin.policy.url=file:/${jbk.home}/classes/jbkplugin.policy # プロキシの 設 定 # 以 下 はプロキシの 指 定 例 です #jbk.plugin.proxy.enable=true #jbk.plugin.proxy.http.host=proxy.fujitsu.co.jp #jbk.plugin.proxy.http.port=8080 #jbk.plugin.proxy.override=*.fujitsu.co.jp *.fujitsu.com #jbk.plugin.proxy.secure.host=proxy.fujitsu.co.jp #jbk.plugin.proxy.secure.port=8080 # Javaコンソールの 表 示 / 非 表 示 の 指 定 jbk.plugin.console.visible=false # アプレットのダウンロード 方 式 の 指 定 # 次 の 設 定 が 使 用 可 能 です # - java: # Javaのネットワーク 通 信 クラスを 使 用 する # - native: # ブラウザの 機 能 を 使 用 する # - hybrid: # クラスファイルとJARファイル:ブラウザの 機 能 を 使 用 する # その 他 のファイル:Javaのネットワーク 通 信 クラスを 使 用 する # jbk.plugin.protocol.http=hybrid # HTTPSプロトコルによるアプレットのダウンロード 方 式 の 指 定 # 次 の 設 定 が 使 用 可 能 です # # - java: # Javaのネットワーク 通 信 クラスを 使 用 する # - native: # ブラウザの 機 能 を 使 用 する # - hybrid: # クラスファイルとJARファイル:ブラウザの 機 能 を 使 用 する # その 他 のファイル: 現 在 はHTTPS 接 続 によるダウンロードは 不 可 # jbk.plugin.protocol.https=hybrid # アプレットの 独 自 キャッシュ 用 の 指 定 # # 次 の 項 目 が 設 定 可 能 です # - 独 自 キャッシュの 使 用 / 非 使 用 の 指 定 # - 独 自 キャッシュの 保 存 フォルダの 指 定 # - 独 自 キャッシュの 保 存 フォルダの 空 き 容 量 の 指 定 # - 独 自 キャッシュの 更 新 条 件 の 指 定 jbk.plugin.www.plugin_cache.enable=false jbk.plugin.www.plugin_cache.dir=${user.home}\applet_cache jbk.plugin.www.plugin_cache.dir.freespace=1% jbk.plugin.www.plugin_cache.update=newer # - 更 新 条 件 がnewerのとき 高 速 化 モードを 使 用 するかの 指 定 - 11 -
#jbk.plugin.www.plugin_cache.accelerate=true # - 2パス 確 認 モードを 使 用 するかの 指 定 ( 高 速 化 モード 指 定 時 無 効 ) #jbk.plugin.www.plugin_cache.twopass=true # アプレットのダウンロード 状 態 の 表 示 / 非 表 示 の 指 定 jbk.plugin.applet.showmessage=true # JavaScript からのアプレットのメソッド 呼 び 出 しの 指 定 # (Internet Explorer, Netscape 6/7 のみ 有 効 ) #jbk.plugin.sw.script.enable=true # アプレットのダウンロード 状 態 を 監 視 するクラスの 指 定 #jbk.plugin.interface.download_notify= # Java VM メッセージの 出 力 #jbk.plugin.debug.showvmmsg=true # Java VM メッセージの 出 力 フォルダ #jbk.plugin.debug.tracedir=c:\windows\temp # Javaコンソールログのファイル 出 力 jbk.plugin.debug.console_log=false # Javaコンソールログのファイル 出 力 フォルダの 指 定 #jbk.plugin.debug.console_log.dir=${jbk.home}/console_log # Javaコンソールログのファイル 数 制 限 値 の 指 定 #jbk.plugin.debug.console_log.history=5 # Javaコンソールログのファイル 出 力 サイズ 制 限 値 の 指 定 #jbk.plugin.debug.console_log.size=100k # Javaコンソールログの 行 ヘッダを 追 加 するかどうかの 指 定 #jbk.plugin.debug.console_log.header=false # ブラウザを 閉 じるときにアプレットの 終 了 を 待 つかどうかの 指 定 #jbk.plugin.sw.applet.delay=false # ブラウザがアクティブ 状 態 になったときに 強 制 的 にアプレットをアクティブ 化 # させるかどうかの 指 定 #jbk.plugin.sw.fbc.force_activate=true 注 意 jbkplugin.propertiesの 設 定 内 容 を 変 更 した 場 合 動 作 中 のJBKプラグインには 設 定 の 変 更 は 反 映 されません JBKプラグインに 設 定 内 容 の 変 更 を 反 映 させるためには ブラウザを 再 起 動 して JBKプラグインを 使 用 するHTMLファイルをブラウザで 読 み 込 み 直 してください JBKプラグインの 設 定 情 報 jbkplugin.propertiesにおける 各 設 定 を 以 下 の 内 容 で 説 明 します 2.3.1 Java VMの 指 定 2.3.2 Java VMの 起 動 オプションの 指 定 2.3.3 セキュリティレベルの 設 定 2.3.4 プロキシの 設 定 2.3.5 Javaコンソールの 表 示 2.3.6 アプレットのダウンロード 方 式 の 指 定 2.3.7 HTTPSプロトコルの 使 用 2.3.8 アプレットのダウンロード 状 態 の 表 示 - 12 -
2.3.13 アプレットの 独 自 キャッシュ 2.3.14 ダウンロード 通 知 機 能 JBKプラグインにはこの 他 にも 以 下 の 機 能 があります 各 機 能 を それぞれの 節 で 説 明 します 2.3.9 Java VMの 先 行 起 動 HTMLファイルの 記 述 の 仕 方 により アプレットを 実 行 せずにJavaVMだけを 先 行 起 動 することが 可 能 です 2.3.10 アプレットのアクティブ/ 非 アクティブ 状 態 の 通 知 JBKプラグインでは アプレットのアクティブ/ 非 アクティブ 状 態 を 独 自 に 定 め そのアクティブ/ 非 アクティブ 状 態 が 切 り 替 わるタ イミングをアプレットに 通 知 する 機 能 を 提 供 しています 2.3.11 アプレットへの 終 了 問 合 せ アプレット 実 行 中 にユーザがブラウザを 終 了 しようとした 場 合 に ブラウザを 終 了 して 良 いかどうかをアプレットに 問 い 合 わせること が 可 能 です 2.3.12 設 定 ファイルの 切 り 替 え JBKプラグインの 設 定 ファイル(jbkplugin.properties)を 切 り 替 えることにより ブラウザ 毎 に 別 の 情 報 を 設 定 することが 可 能 です 2.3.15 JavaScriptとの 通 信 アプレットからJavaScriptを 呼 び 出 したり JavaScriptからアプレットのpublicメソッドを 呼 び 出 したりすることが 可 能 です 2.3.1 Java VMの 指 定 JBKプラグインがアプレットの 実 行 に 用 いるJava VMの 指 定 方 法 を 説 明 します なお JBKプラグインインストール 時 のデフォルト 状 態 ( 初 期 状 態 )では JBKプラグインはJBKのインストール 時 に 選 択 したJava SEをJava VMとして 使 用 します 使 用 するJava VMを 変 更 する 必 要 がない 場 合 には ユーザがJava VMの 指 定 を 行 う 必 要 はありません 使 用 するJava VMの 指 定 方 法 使 用 するJava VMをデフォルト 状 態 から 変 更 する 必 要 がある 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.javahome=<java SEのインストールフォルダ> <Java SEのインストールフォルダ>には Java VMとして 使 用 するJava SEのインストールフォルダを 指 定 します 注 意 デフォルト 状 態 では jbkplugin.properties 内 のJava VMの 指 定 行 はコメント 行 ('#'の 付 いた 行 )になっています Java VMの 指 定 を 行 う 場 合 には 行 の 先 頭 の'#'を 取 り 除 いてください Java SEのインストールフォルダ 名 に 空 白 文 字 が 含 まれている 場 合 には Java SEのインストールフォルダ 名 を'"'(ダブルクォーテー ション)で 囲 んで 指 定 してください JBKプラグインで 使 用 するJava VMには 実 行 するアプレットに 合 わせて 適 切 なバージョンのJava SEを 指 定 してください 例 使 用 するJava VMの 指 定 例 jbk.plugin.javahome="c:\program Files\jdk1.6.0" ポイント 使 用 するJava VMの 指 定 の 検 索 順 序 - 13 -
JBKプラグインは アプレットの 実 行 に 使 用 するJava VMの 指 定 を 以 下 の 順 番 で 検 索 します 1. 使 用 するJava VMがjbkplugin.properties 内 に 記 述 されている 場 合 には そのJava VMを 使 用 します 2. 使 用 するJava VMがjbkplugin.properties 内 に 記 述 されていない 場 合 には JBKのインストール 時 に 選 択 したJava SEがJava VM として 使 用 されます(デフォルト 状 態 の 動 作 ) 3. もし JBKのインストール 時 に 選 択 したJava SEの 情 報 が 取 得 できなかった 場 合 は 環 境 変 数 JAVA_HOMEに 設 定 されているJava SEをJava VMとして 使 用 します この 状 況 は JBKのインストール 情 報 を 記 録 しているレジストリが 何 らかの 原 因 で 参 照 できなく なった 場 合 に 起 こります 2.3.2 Java VMの 起 動 オプションの 指 定 Java VMの 起 動 オプションの 指 定 方 法 を 説 明 します JBKプラグインでJava VMを 起 動 する 際 には JDKのjavaコマンドのコマンドオプションをJava VMの 起 動 オプションとして 指 定 すること ができます 必 要 に 応 じて 以 下 の 説 明 に 従 い 起 動 オプションを 指 定 してください Java VMの 起 動 オプションの 指 定 方 法 Java VMの 起 動 オプションを 指 定 する 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.vmoption=<java VMの 起 動 オプション> <Java VMの 起 動 オプション>には 以 下 のオプションが 指 定 可 能 です 各 オプションの 詳 細 は JDKのドキュメントのjavaコマンドの 説 明 を 参 照 してください Java SEのJava VM 使 用 時 に 指 定 可 能 な 起 動 オプション 複 数 のオプションを 指 定 する 場 合 には 各 オプションを' '( 空 白 )で 区 切 って 記 述 してください -agentlib ネイティブエージェントライブラリの 指 定 -classpath(あるいは-cp) -D クラスパスの 指 定 プロパティの 定 義 -Xbootclasspath ブートストラップクラスパスの 指 定 -Xbootclasspath/p 指 定 されたパスをデフォルトのブートストラップクラスパスの 前 に 追 加 する -Xbootclasspath/a -Xms -Xmx 指 定 されたパスをデフォルトのブートストラップクラスパスの 後 に 追 加 する ヒープ 領 域 のスタートアップサイズの 指 定 ヒープ 領 域 の 最 大 サイズの 指 定 -Xnoclassgc Javaクラスのガベージコレクションを 行 わない -Xrunhprof CPUやヒープなどのプロファイリングを 行 う(-Xrunhprof:helpは 使 用 不 可 ) - 14 -
-Xrs OSのシグナルの 使 用 を 減 らす -Xfuture クラスファイルのフォーマットを 厳 密 に 検 査 する 注 意 デフォルト 状 態 では jbkplugin.properties 内 のJava VMの 起 動 オプション 指 定 行 は"-Dsun.java2d.noddraw=true" (DirectDrawの 抑 止 ) が 指 定 されています OSがWindows XPの 場 合 このオプションはそのまま 使 用 することをお 勧 めします -classpathオプションの 指 定 で クラスパス 名 に 空 白 文 字 が 含 まれている 場 合 には クラスパス 名 を'"'(ダブルクォーテーション)で 囲 んで 指 定 してください -ms -mx -Xmsおよび-Xmxオプションでヒープ 領 域 のサイズを 指 定 する 際 には ヒープ 領 域 のスタートアップサイズが 最 大 サイズ 以 下 となるように 指 定 してください スタートアップサイズが 最 大 サイズより 大 きく 設 定 されていると JBKプラグインはJava VMの 起 動 に 失 敗 します オプションの 長 さは jbk.plugin.vmoption= を 含 めて1024byte 以 内 に 収 めてください 1025byte 目 以 降 の 文 字 列 は 無 視 されます 例 Java VMの 起 動 オプションの 指 定 例 jbk.plugin.vmoption=-xms32m -Xmx96m -Dsun.java2d.noddraw=true 2.3.3 セキュリティレベルの 設 定 アプレットを 実 行 するときのセキュリティレベルの 設 定 方 法 を 説 明 します Java2では セキュリティ 設 定 用 に 新 たにポリシーファイルと 呼 ばれる 設 定 ファイルが 導 入 されました ポリシーファイルとは アプレットご とにセキュリティチェックの 対 象 となる 各 操 作 を 許 可 するかを 設 定 するためのファイルです ポリシーファイルを 使 用 することで Java SE は1.1 系 のJava VMよりも 自 由 なセキュリティ 設 定 ができるようになっています Java SEを 使 用 する 場 合 には JBKプラグインのセキュリティ 設 定 もポリシーファイルの 設 定 内 容 に 従 います JBKプラグインが 使 用 する ポリシーファイルの 詳 細 は 以 下 の 説 明 を 参 照 してください なお ポリシーファイルによるセキュリティ 設 定 の 詳 細 は JDKのドキュメント を 参 照 してください JBKプラグインが 使 用 するポリシーファイル JBKプラグインは 以 下 の2 種 類 のポリシーファイルを 使 用 します JBKプラグインのポリシーファイル JBKプラグインのポリシーファイルの 格 納 場 所 は jbkplugin.propertiesの 中 の 以 下 の 行 に 記 述 されています bk.plugin.policy.url=<ポリシーファイルの 格 納 場 所 を 表 すURL> <ポリシーファイルの 格 納 場 所 を 表 すURL>には ポリシーファイルの 絶 対 パスをURL 形 式 で 指 定 します デフォルト 状 態 の 設 定 は 以 下 のようになっています - file:${jbk.home}/classes/jbkplugin.policy JBKのインストールフォルダにある classes フォルダの jbkplugin.policy ファイルを 表 します(${jbk.home}は JBKのインストー ルフォルダを 表 すプロパティです) JBKのインストールフォルダが 空 白 を 含 む 場 合 jbk.plugin.policy.urlに${jbk.home}を 使 用 しないでください ポリシーファイルの 読 み 込 みに 失 敗 します - 15 -
Java SEのデフォルトのポリシーファイル Java SEには 以 下 の 場 所 にデフォルトのポリシーファイルが 用 意 されています - JDK:(JDKのインストールフォルダ)\jre\lib\security\java.policy - JRE:(JREのインストールフォルダ)\lib\security\java.policy - 共 通 :(${user.home})\.policy JBKプラグインによるアプレット 実 行 の 際 には これらのポリシーファイルの 設 定 が 両 方 とも 有 効 になります 同 じアプレットに 対 する 権 限 設 定 が 両 方 のポリシーファイルに 記 述 されている 場 合 には 両 方 の 権 限 が 許 可 されます アプレットの 権 限 の 設 定 はどちらのポリシーファイルに 記 述 してもかまいません JBKプラグインのポリシーファイルに 記 述 すると 使 用 するJava SEを 切 り 替 えた 場 合 やJava SEを 再 インストールした 場 合 にも デフォルトのポリシーファイルに 設 定 を 記 述 し 直 すことなく 常 に 同 じ 設 定 が 使 用 できるようになります 例 ポリシーファイルの 記 述 例 以 下 は あるアプレットにすべての 権 限 を 許 可 したい 場 合 のポリシーファイルの 記 述 例 です grant codebase "(アプレットのコードベースを 表 すURL)" { //AllPermissionは すべての 権 限 を 表 すパーミッション permission java.security.allpermission; }; この 記 述 例 のAllPermissionは すべての 権 限 をアプレットに 許 可 するため 注 意 が 必 要 です 実 際 の 運 用 時 では AllPermissionの 代 わりに 必 要 な 権 限 だけを 記 述 するようにします ポイント JBKプラグインが 独 自 のポリシーファイルを 使 用 するのを 止 めたい 場 合 には jbkplugin.properties 内 のポリシーファイルの 格 納 場 所 の 指 定 行 ( jbk.plugin.policy.url が 記 述 されている 行 を 削 除 するか 行 の 先 頭 に'#'を 挿 入 してコメント 行 にしてください 各 操 作 に 必 要 な 権 限 セキュリティチェックの 対 象 となる 各 操 作 を 行 うために 必 要 な 権 限 を 下 表 に 示 します これらの 権 限 の 詳 細 およびポリシーファイルへ の 設 定 方 法 は JDKのドキュメントを 参 照 してください 対 象 となる 操 作 必 要 な 権 限 ローカルのファイルの 読 込 み (ファイル 記 述 子 による 読 込 み) java.lang.runtimepermission "readfiledescriptor"; (ファイル 名 による 読 込 み) java.io.filepermission "{file}","read"; ローカルのファイルへの 書 込 み (ファイル 記 述 子 による 書 込 み) java.lang.runtimepermission "writefiledescriptor"; ローカルのファイルの 削 除 (ファイル 名 による 書 込 み) java.io.filepermission "{file}","write"; java.io.filepermission "{file}","delete"; ネットワーク 接 続 の 要 求 (connect) (ポート 番 号 が-1の 場 合 ) java.net.socketpermission "{host}","resolve"; (それ 以 外 の 場 合 ) java.net.socketpermission "{host}:{port}","connect"; - 16 -
対 象 となる 操 作 必 要 な 権 限 ネットワークポートでの 待 機 (listen) (ポート 番 号 が0の 場 合 ) java.net.socketpermission "localhost:1024-","lesten"; ネットワーク 接 続 要 求 の 受 理 (accept) マルチキャストの 使 用 ネットワーク 関 連 クラスのファクトリの 設 定 (それ 以 外 の 場 合 ) java.net.socketpermission "localhost:{port}","lesten"; java.net.socketpermission "{host}:{port}","accept"; java.net.socketpermission(maddr.gethostaddress(),"accept,connect"); java.lang.runtimepermission "setfactory"; 他 のスレッドグループのスレッドの 操 作 (スレッドの 操 作 ) java.lang.runtimepermission "modifythread"; (スレッドグループの 操 作 ) java.lang.runtimepermission "modifythreadgroup"; ローカルのアプリケーションの 起 動 (アプリケーションの 起 動 コマンドが 絶 対 パスで 指 定 されている 場 合 ) java.io.filepermission "{cmd}","execute"; ローカルのライブラリ(DLL)のロード ( 相 対 パスで 指 定 されている 場 合 ) java.io.filepermission "-","execute"; java.lang.runtimepermission "loadlibrary.{lib}"; システムプロパティへのアクセス (System.getProperties()を 使 用 する 場 合 ) java.util.propertypermission "*","read,write"; ウィンドウの 作 成 アプレットからのクラスのロード 印 刷 ジョブへのアクセス クリップボードへのアクセス AWTのイベントキューへのアクセス クラスローダの 操 作 ブラウザの 終 了 (System.getProperty(String key)を 使 用 する 場 合 ) java.util.propertypermission "{key}","read,write"; java.awt.awtpermission "showwindowwithoutwarningbanner"; java.lang.runtimepermission "getclassloader"; java.lang.runtimepermission "queueprintjob"; java.awt.awtpermission "accessclipboard"; java.awt.awtpermission "accesseventqueue"; java.lang.runtimepermission "getclassloader"; JBKプラグインでは アプレットがブラウザを 終 了 させることを 許 可 していません 注 意 V3.0L20 以 前 のJBKプラグインから 移 行 する 場 合 JBKプラグインはV3.0L20でセキュリティチェック 機 能 の 強 化 を 行 っています 従 来 のJBKプラグインでも 実 運 用 上 の 問 題 はありません が V3.0L20からJBKプラグインはさらに 厳 密 なセキュリティチェックを 行 うようにしています ただし このために 以 下 のような 現 象 が 発 生 することがあります アプレットからプロキシ 経 由 でURL 接 続 を 行 う 際 そのURLのホストがDNS 登 録 されていない 場 合 に 接 続 までに 数 分 かかる 場 合 がある このような 現 象 が 実 運 用 で 問 題 になる 場 合 には jbkplugin.propertiesに jbk.plugin.security.strict=false と 記 述 して セキュリティチェッ ク 機 能 の 強 化 を 解 除 してください この 設 定 を 行 うと JBKプラグインは 従 来 どおりのセキュリティチェックを 行 います また セキュリティチェック 機 能 の 強 化 により 従 来 アプレットから 他 ホスト(アプレットをダウンロードしたホスト 以 外 )にネットワーク 接 続 で きていたものがセキュリティエラーとなる 場 合 があります このような 場 合 には ポリシーファイルを 用 いて そのアプレットに java.net.socketpermission などネットワーク 接 続 を 行 うための 適 切 な 権 限 を 設 定 してください 2.3.4 プロキシの 設 定 JBKプラグインが 使 用 するHTTPプロキシの 設 定 方 法 を 説 明 します - 17 -
ローカルエリアネットワーク(LAN)の 構 築 の 際 には 外 部 のネットワークからの 侵 入 を 防 ぐためにファイアウォールを 設 けることがありま す このような 場 合 LANの 外 にあるWebサーバからアプレットをダウンロードするには HTTPプロキシサーバを 中 継 してダウンロード する 必 要 があります このような 場 合 には 以 下 の 説 明 に 従 ってHTTPプロキシを 設 定 してください プロキシの 設 定 が 不 要 な 場 合 以 下 の 場 合 は プロキシの 設 定 を 行 う 必 要 はありません ブラウザのプロキシ 設 定 と 同 じ 設 定 を 使 用 する 場 合 JBKプラグインはデフォルト 状 態 では JBKプラグインはブラウザのプロキシ 設 定 をそのまま 使 用 します アプレットのダウンロード 方 式 を ブラウザの 機 能 を 用 いる 方 式 に 指 定 してある 場 合 この 場 合 は JBKプラグインによるプロキシの 設 定 は 無 効 となり 代 わりにブラウザに 設 定 されているプロキシが 使 用 されます 詳 細 は 2.3.6 アプレットのダウンロード 方 式 の 指 定 を 参 照 してください プロキシの 設 定 方 法 使 用 するプロキシの 設 定 をデフォルト 状 態 から 変 更 する 必 要 がある 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してくださ い jbk.plugin.proxy.enable=<httpプロキシを 使 用 する/しない> jbk.plugin.proxy.http.host=<httpプロキシのホスト 名 > jbk.plugin.proxy.http.port=<httpプロキシのポート 番 号 > jbk.plugin.proxy.override=<httpプロキシを 使 用 しないアドレスのリスト> 各 プロパティには 以 下 の 情 報 を 設 定 します jbk.plugin.proxy.enable HTTPプロキシを 使 用 するかどうかを 指 定 するプロパティです <HTTPプロキシを 使 用 する/しない>には 以 下 のどちらかを 記 述 します true false アプレットのダウンロード 時 に HTTPプロキシサーバを 使 用 します アプレットのダウンロード 時 に HTTPプロキシサーバを 使 用 しません falseに 設 定 した 場 合 には 以 下 の3つのプロパティの 設 定 は 無 効 になります jbk.plugin.proxy.http.host HTTPプロキシのホスト 名 を 指 定 するプロパティです <HTTPプロキシのホスト 名 >には HTTPプロキシサーバのホスト 名 またはIP アドレスを 指 定 します jbk.plugin.proxy.http.port HTTPプロキシのポート 番 号 を 指 定 するプロパティです <HTTPプロキシのポート 番 号 >には HTTPプロキシサーバが 使 用 する ポート 番 号 を 指 定 します jbk.plugin.proxy.override HTTPプロキシを 使 用 せずに 接 続 するアドレスのリストを 指 定 するプロパティです Webサーバのアドレスがこのリストに 記 述 されて いる 場 合 には JBKプラグインはHTTPプロキシサーバを 経 由 せずに Webサーバから 直 接 アプレットをダウンロードします <HTTP プロキシを 使 用 しないアドレスのリスト>には HTTPプロキシを 使 用 しないアドレスを 以 下 の 説 明 に 従 って 記 述 してください - アドレスの 記 述 には ホスト 名 ドメイン 名 あるいはIPアドレスが 使 用 できます - ホスト 名 ドメイン 名 あるいはIPアドレスの 記 述 には '*'(ワイルドカード)が 使 用 できます - 複 数 のアドレスを 記 述 する 場 合 には アドレスとアドレスの 間 に' 'を 入 れてください - 18 -
例 プロキシの 設 定 例 jbk.plugin.proxy.enable=true jbk.plugin.proxy.http.host=proxy.fujitsu.com jbk.plugin.proxy.http.port=8080 jbk.plugin.proxy.override=*.fujitsu.com *.foo.co.jp デフォルト 状 態 では jbkplugin.properties 内 のプロキシの 設 定 行 はコメント 行 ('#'の 付 いた 行 )になっています プロキシの 設 定 を 行 う 場 合 には 行 の 先 頭 の'#'を 取 り 除 いてください <HTTPプロキシのホスト 名 > <HTTPプロキシのポート 番 号 >および<HTTPプロキシを 使 用 しないアドレスのリスト>に 記 述 する 内 容 は LAN 環 境 の 設 定 により 異 なります プロキシ 設 定 に 記 述 する 内 容 は ネットワーク 管 理 者 にお 問 い 合 わせください ブラウザのプロキシ 除 外 リストについて Javaのプロキシ 除 外 リストでは ".*.*" という 表 記 は ワイルドカードとして 認 識 せず プロキシを 利 用 した 接 続 を 行 います 以 下 の 場 合 で ブラウザのプロキシ 設 定 の 除 外 リストに".*.*"を 使 用 している 場 合 は ".*"と 記 載 してください ブラウザのプロキシ 設 定 と 同 じ 設 定 を 使 用 する jbkplugin.propertiesで jbk.plugin.proxy.enable=trueかつjbk.plugin.proxy.overrideを 指 定 している 2.3.5 Javaコンソールの 表 示 JBKプラグインのJavaコンソールを 説 明 します JBKプラグインは アプレットのデバッグ 時 に 有 効 な 情 報 を 表 示 するJavaコンソールを 提 供 しています Javaコンソールには 以 下 の 情 報 が 表 示 されます アプレット 実 行 時 に 標 準 出 力 (System.out)あるいは 標 準 エラー 出 力 (System.err)に 出 力 された 文 字 列 AppletContextクラスのshowStatusメソッドを 実 行 して ブラウザのステータスウィンドウに 表 示 された 文 字 列 アプレット 実 行 時 に 発 生 した 例 外 を 表 すメッセージ 図 2.2 JBKプラグインのJavaコンソール Javaコンソールには 以 下 の2つのボタンがあります クリア: 表 示 されている 内 容 をすべて 消 去 します 閉 じる:Javaコンソールを 非 表 示 にします また Javaコンソール 上 で 以 下 のキーを 押 下 することにより Javaコンソール 上 に 情 報 を 出 力 することができます - 19 -
C Javaコンソールのクリア G ガベージコレクションの 実 行 H キーボードヘルプを 表 示 M メモリ 使 用 量 の 表 示 S システムプロパティの 出 力 T スレッドリストの 出 力 0 JBKプラグインのトレース 出 力 (クラスのロードおよびHTTPプロトコルの 接 続 状 態 などをトレースします)の 切 り 替 え Ctrl+Shift+E AWTEventのトレース 出 力 (FocusEvent KeyEvent MouseEvent およびWindowEventをトレースします)の 切 り 替 え Javaコンソールの 表 示 / 非 表 示 の 設 定 方 法 Javaコンソールは JBKプラグインインストール 時 のデフォルト 状 態 ( 初 期 状 態 )では 非 表 示 になっています JBKプラグイン 起 動 時 の Javaコンソールの 表 示 / 非 表 示 を 設 定 する 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.console.visible=<javaコンソールの 表 示 / 非 表 示 > <Javaコンソールの 表 示 / 非 表 示 >には 以 下 のどちらかを 設 定 してください true false JBKプラグインの 起 動 時 に Javaコンソールを 表 示 します JBKプラグインの 起 動 時 に Javaコンソールを 表 示 しません (デフォルト) Javaコンソールを 非 表 示 にした 後 に 再 表 示 したいときには アプレットにフォーカスがある 状 態 で[Ctrl]+[Alt]+[Insert]キーを 押 下 しま す アプレットからのJavaコンソールの 表 示 / 非 表 示 の 制 御 方 法 JBKプラグインが 提 供 するPluginAppletContextインタフェースを 使 うと アプレットからJavaコンソールの 表 示 / 非 表 示 の 制 御 を 行 うこと ができます PluginAppletContextインタフェースのAPIは 以 下 のとおりです インタフェース 名 - com.fujitsu.jbk.plugin.browser.pluginappletcontext (extends java.applet.appletcontext) メソッド: - setconsolevisible プラグインのコンソールの 表 示 / 非 表 示 を 切 り 替 えます public abstract void setconsolevisible(boolean visible) visible true:javaコンソールを 表 示 します - 20 -
false:javaコンソールを 非 表 示 にします - isconsolevisible プラグインのコンソールの 表 示 / 非 表 示 の 状 態 を 返 します public abstract boolean isconsolevisible() 戻 り 値 Javaコンソールが 表 示 されている 時 はtrue 非 表 示 の 時 はfalseを 返 します PluginAppletContextインタフェースのクラスファイルは JBKプラグインの 開 発 用 jarファイルに 格 納 されています(JBKをインストールし たフォルダ 配 下 の classes\jbkstd.jar になります) PluginAppletContextインタフェースを 使 用 したアプレットのクラスをコンパイルする 場 合 は クラスパスにJBKプラグインの 開 発 用 jarファイルが 含 まれていることを 確 認 してください PluginAppletContextは AppletクラスのgetAppletContext()メソッドを 呼 び 出 して 取 得 できます したがって 例 えば 以 下 のようなアプレッ トを 作 成 し このアプレットを 実 行 するためのタグをHTMLファイルに 記 述 しておくと このアプレットをJavaコンソール 表 示 用 のボタンと して 使 用 できます 表 2.2 Javaコンソール 表 示 ボタンを 持 つアプレット import java.applet.*; import java.awt.*; import java.awt.event.*; import com.fujitsu.jbk.plugin.browser.pluginappletcontext; /** * コンソール 表 示 用 のボタンを 持 つアプレット */ public class ConsoleButton extends Applet implements ActionListener { /** * アプレットの 初 期 化 */ public void init() { /* Javaコンソール 表 示 のためのボタンの 作 成 */ setlayout(new BorderLayout()); Button b = new Button("コンソールの 表 示 "); b.addactionlistener(this); add(b); } /** * ボタンが 押 されたときの 処 理 Javaコンソールを 表 示 する */ public void actionperformed(actionevent e) { // AppletContextを 取 得 する // JBKプラグインを 使 用 しているときには PluginAppletContextが 返 る AppletContext context = getappletcontext(); try { // 取 得 したAppletContextがPluginAppletContextかどうかを 確 認 する if (context instanceof PluginAppletContext) { PluginAppletContext plgcontext = (PluginAppletContext)context; } } // Javaコンソールが 表 示 されていない 場 合 は 表 示 する if (!plgcontext.isconsolevisible()) { plgcontext.setconsolevisible(true); } } } catch (Throwable ignore) { /* この 処 理 で 発 生 した 例 外 に 対 しては 何 も 行 わない */ } - 21 -
2.3.6 アプレットのダウンロード 方 式 の 指 定 JBKプラグインがアプレットをダウンロードする 際 の 方 式 とその 指 定 方 法 を 説 明 します JBKプラグインでは 以 下 の3 種 類 のアプレットをダウンロードする 方 式 を 提 供 しています Javaのネットワーク 通 信 クラスを 用 いる 方 式 ブラウザの 機 能 を 用 いる 方 式 上 記 2つの 混 合 方 式 ブラウザの 機 能 を 用 いる 方 式 では ブラウザの 設 定 をそのまま 使 用 してアプレットのダウンロードを 行 うことができます ダウンロードした ファイルのローカルキャッシュ 機 能 など ブラウザが 持 つ 機 能 を 有 効 に 活 用 したい 場 合 には ブラウザの 機 能 を 用 いるダウンロード 方 式 の 使 用 をお 勧 めします ダウンロード 対 象 となるファイル JBKプラグインがWebサーバからダウンロードするファイルの 種 類 は 以 下 のとおりです アプレットの 実 行 に 必 要 なクラスファイル(*.class) アプレットの 実 行 に 必 要 なJARファイル(*.jar) HTMLファイルでJBKプラグイン 用 のタグの 記 述 にARCHIVE 属 性 を 指 定 している 場 合 には そこに 指 定 されたJARファイルがダウ ンロードされます ARCHIVE 属 性 の 指 定 方 法 は 2.2.3 HTMLファイルの 作 成 を 参 照 してください アプレットで 使 用 するプロパティファイル(*.properties) アプレットで 使 用 する 画 像 ファイル(GIFファイル JPEGファイルなど) その 他 アプレットがJavaのURLクラスを 用 いてWebサーバからファイルを 取 得 している 場 合 には そのファイルのダウンロードも JBKプラグインが 行 います 本 節 で 説 明 するアプレットのダウンロード 方 式 の 指 定 は これらのファイルに 対 して 有 効 となります 注 意 以 下 のファイルは ブラウザがダウンロードを 行 いますので JBKプラグインのダウンロード 対 象 ファイルではありません JBKプラグイン 用 のタグを 記 述 したHTMLファイル そのHTMLファイルに 貼 り 付 けられた 画 像 ファイル アプレットのダウンロード 方 式 の 指 定 方 法 アプレットのダウンロード 方 式 を 指 定 する 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.protocol.http=<アプレットのダウンロード 方 式 > <アプレットのダウンロード 方 式 >には 以 下 のキーワードのうちのどれかを 指 定 します java Javaのネットワーク 通 信 クラスを 用 いてダウンロードを 行 います ダウンロードしたファイルはローカルディスクにキャッシュされません また 使 用 されるHTTPプロキシは JBKプラグインのプロキシ 設 定 に 従 います( 2.3.4 プロキシの 設 定 を 参 照 してください) native ブラウザの 機 能 を 用 いてダウンロードを 行 います - ダウンロードされたファイルは ブラウザの 機 能 を 用 いてローカルディスクにキャッシュされ 次 回 ダウンロード 時 にはキャッシュ されたファイルが 使 用 されます キャッシュファイルの 格 納 フォルダの 設 定 キャッシュの 更 新 タイミングの 設 定 は ブラウザの 設 定 がそのまま 使 用 されます これらの 設 定 方 法 の 詳 細 は 使 用 するブラウザのマニュアルを 参 照 してください - 22 -
- ダウンロード 時 に 使 用 されるHTTPプロキシの 設 定 も ブラウザの 設 定 がそのまま 使 用 されます 設 定 方 法 の 詳 細 は 使 用 する ブラウザのマニュアルを 参 照 してください hybrid javaとnativeの 混 合 方 式 です ダウンロード 対 象 となるファイルのうち クラスファイルおよびJARファイルはブラウザの 機 能 を 用 いて ダウンロードを 行 います その 他 のファイルは Javaのネットワーク 通 信 クラスを 用 いてダウンロードを 行 います なお JBKプラグイ ンインストール 時 のデフォルト 状 態 ( 初 期 状 態 )では アプレットのダウンロード 方 式 はhybridに 設 定 されています 注 意 以 前 のバージョンのJBKプラグインは ブラウザの 機 能 を 用 いたアプレットのダウンロードをサポートしていません 以 前 のバージョ ンと 同 じ 動 作 にしたい 場 合 には jbk.plugin.protocol.http をjavaに 指 定 してください hybrid または native を 指 定 した 場 合 java.net.urlconnectionクラスで 接 続 したURLのファイルがブラウザにキャッシュされてい ると 以 下 の 現 象 が 発 生 します - getheaderfielddateおよびgetdateメソッドでは 0が 返 されます - getheaderfieldおよびgetheaderfieldkeyメソッドでは Server Dateフィールドが 返 されません 例 アプレットのダウンロード 方 式 の 指 定 例 jbk.plugin.protocol.http=native 2.3.7 HTTPSプロトコルの 使 用 JBKプラグインによるHTTPSプロトコルの 使 用 を 説 明 します HTTPSプロトコルとは SSL(Secure Sockets Layer) 対 応 のWebサーバとHTTP 通 信 を 行 う 際 に 指 定 するプロトコルです SSLとは ネットワーク 上 でデータを 暗 号 化 して 送 受 信 する 技 術 の1つで 現 在 多 くのWebサーバ/ブラウザがSSLを 用 いたHTTP 通 信 をサポートしています SSLを 用 いたHTTP 通 信 では ネットワーク 上 を 流 れるデータが 暗 号 化 されるので 第 三 者 にデータを 解 析 さ れる 恐 れが 減 り セキュリティ 上 より 安 全 なデータ 転 送 が 行 えるようになります SSL 対 応 のWebサーバとHTTP 通 信 を 行 う 際 には 一 般 的 にはURLの 先 頭 に http:// の 代 わりに https:// と 指 定 します JBKプラグイ ンではこのHTTPSプロトコルをサポートし SSL 対 応 のWebサーバからのアプレットのダウンロードを 可 能 にしています HTTPSプロトコル 使 用 時 にダウンロード 対 象 となるファイル JBKプラグインがWebサーバからダウンロードするファイルの 種 類 は 以 下 のとおりです これは 通 常 のHTTP 通 信 の 場 合 もHTTPSプロト コルによる 通 信 の 場 合 も 同 じです( 2.3.6 アプレットのダウンロード 方 式 の 指 定 参 照 ) アプレットの 実 行 に 必 要 なクラスファイル(*.class) アプレットの 実 行 に 必 要 なJARファイル(*.jar) アプレットで 使 用 するプロパティファイル(*.properties) アプレットで 使 用 する 画 像 ファイル(GIFファイル JPEGファイルなど) その 他 アプレットがJavaのURLクラスを 用 いてWebサーバからファイルを 取 得 している 場 合 には そのファイルのダウンロードも JBKプラグインが 行 います 以 下 で 説 明 するHTTPSプロトコルによるアプレットのダウンロード 方 式 の 指 定 は これらのファイルに 対 して 有 効 となります HTTPSプロトコルによるアプレットのダウンロード 方 式 の 指 定 HTTPSプロトコルによるアプレットのダウンロード 方 式 を 指 定 する 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください - 23 -
jbk.plugin.protocol.https=<httpsプロトコルによるアプレットのダウンロード 方 式 > <HTTPSプロトコルによるアプレットのダウンロード 方 式 >には 以 下 のキーワードのうちのどれかを 指 定 します java Javaのネットワーク 通 信 クラスを 用 いてダウンロードを 行 います JSSE(Java Secure Socket Extension)を 使 用 してHTTPSプロトコルに よるダウンロードを 行 います native hybrid ブラウザの 機 能 を 用 いてHTTPSプロトコルによるダウンロードを 行 います - ダウンロードされたファイルは ブラウザの 機 能 を 用 いてローカルディスクにキャッシュされ 次 回 ダウンロード 時 にはキャッシュ されたファイルが 使 用 されます HTTPSプロトコルでダウンロードされたファイルをキャッシュするかどうかの 設 定 キャッシュファ イルの 格 納 フォルダの 設 定 キャッシュの 更 新 タイミングの 設 定 は ブラウザの 設 定 がそのまま 使 用 されます これらの 設 定 方 法 の 詳 細 は 使 用 するブラウザのマニュアルを 参 照 してください - ダウンロード 時 に 使 用 されるHTTPSプロキシの 設 定 も ブラウザの 設 定 がそのまま 使 用 されます 設 定 方 法 の 詳 細 は 使 用 す るブラウザのマニュアルを 参 照 してください ダウンロード 対 象 となるファイルのうち クラスファイルおよびJARファイルはブラウザの 機 能 を 用 いてHTTPSプロトコルによるダウン ロードを 行 います その 他 のファイルは HTTPSプロトコルによるダウンロードができません なお JBKプラグインインストール 時 の デフォルト 状 態 ( 初 期 状 態 )では HTTPSプロトコルによるアプレットのダウンロード 方 式 はhybridに 設 定 されています JSSE(Java Secure Socket Extension) によりHTTPSプロトコルの 通 信 がサポートされています そのため hybridを 指 定 した 場 合 にク ラスファイルおよびJARファイル 以 外 のファイルに 対 してもHTTPSプロトコルによるダウンロードが 可 能 になっています 注 意 使 用 するブラウザでSSLを 無 効 にする 設 定 を 行 っている 場 合 には jbk.plugin.protocol.https にnativeあるいはhybridを 指 定 して もHTTPSプロトコルによるアプレットのダウンロードはできません HTTPSプロトコルを 使 用 する 場 合 には あらかじめブラウザの 設 定 でSSLを 有 効 にしておいてください SSLの 有 効 / 無 効 の 設 定 方 法 は 使 用 するブラウザのマニュアルを 参 照 してください hybrid または native を 指 定 した 場 合 java.net.urlconnectionクラスで 接 続 したURLのファイルがブラウザにキャッシュされてい ると 以 下 の 現 象 が 発 生 します - getheaderfielddateおよびgetdateメソッドでは 0が 返 されます - getheaderfieldおよびgetheaderfieldkeyメソッドでは Server Dateフィールドが 返 されません 例 HTTPSプロトコルによるアプレットのダウンロード 方 式 の 指 定 例 jbk.plugin.protocol.https=native 2.3.8 アプレットのダウンロード 状 態 の 表 示 JBKプラグインが 行 うアプレットのダウンロード 状 態 の 表 示 を 説 明 します アプレットのダウンロード 状 態 の 表 示 JBKプラグインは アプレットのクラスのダウンロードが 開 始 されてからアプレットの 実 行 が 開 始 されるまでの 間 アプレットの 表 示 領 域 の 左 上 に 以 下 のメッセージを 表 示 します [アプレットのロード 中 です...] アプレットのクラスのロード 中 を 表 すメッセージです - 24 -
[アプレットの 初 期 化 中 です...] アプレットのinit()メソッドの 実 行 中 を 表 すメッセージです また アプレットのクラスのロード 中 にエラーが 発 生 した 場 合 には JBKプラグインは 以 下 のメッセージを 表 示 します [エラー:アプレットのロードに 失 敗 しました ] 発 生 したエラーの 詳 細 は JBKプラグインの 図 2.2 JBKプラグインのJavaコンソール に 表 示 されます アプレットのダウンロード 状 態 の 表 示 / 非 表 示 の 指 定 方 法 アプレットのダウンロード 状 態 の 表 示 / 非 表 示 を 指 定 する 場 合 には jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.applet.showmessage=<ダウンロード 状 態 の 表 示 / 非 表 示 > <ダウンロード 状 態 の 表 示 / 非 表 示 >には 以 下 のどちらかを 設 定 してください true アプレットのダウンロード 状 態 を 表 示 します false アプレットのダウンロード 状 態 を 表 示 しません 注 意 以 前 のバージョンのJBKプラグインは アプレットのダウンロード 状 態 を 表 示 しません 以 前 のバージョンと 同 じ 動 作 にしたい 場 合 には jbk.plugin.applet.showmessage をfalseに 設 定 してください 2.3.9 Java VMの 先 行 起 動 JBKプラグインを 使 用 して アプレットを 実 行 せずにJava VMだけを 先 行 起 動 する 方 法 を 説 明 します ブラウザ 上 でアプレットを 実 行 する 場 合 には 一 般 的 にはアプレットの 初 回 実 行 時 にJava VMが 起 動 されます Java VMの 起 動 には 数 秒 ~ 数 十 秒 かかります その 間 ブラウザがユーザの 操 作 を 受 け 付 けなくなり Java VMの 起 動 完 了 までユーザが 待 たされてしまう 場 合 もあります このような 状 況 に 対 処 するために JBKプラグインではHTMLファイルの 記 述 の 仕 方 により アプレットを 実 行 せずにJava VMのみを 起 動 する 機 能 を 提 供 しています この 機 能 を 用 いると アプレットを 起 動 する 前 に ユーザを 待 たせることなくJava VMだけ を 先 行 起 動 しておくことが 可 能 になります Java VMのみの 起 動 の 指 定 方 法 JBKプラグインを 用 いて アプレットを 実 行 せずにJava VMのみを 起 動 する 場 合 には JBKプラグイン 用 のHTMLファイルに 指 定 するア プレットの 名 前 (NAME 属 性 )に @JAVAVMONLY と 記 述 してください JBKプラグイン 用 のHTMLファイルの 記 述 方 法 は 2.2.3 HTMLファイルの 作 成 を 参 照 してください NAME 属 性 に @JAVAVMONLY と 指 定 されている 場 合 には JBKプラグインはその 箇 所 のCODE 属 性 の 指 定 を 無 効 とし バックグ ラウンドでJava VMの 起 動 のみを 行 います 例 Java VMのみの 起 動 の 指 定 例 JBKプラグインを 用 いて Java VMのみの 起 動 を 行 う 場 合 には HTMLファイルに 以 下 の 記 述 を 入 れてください <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=1 HEIGHT=1> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="NAME" VALUE="@JAVAVMONLY"> </OBJECT> - 25 -
ポイント アプレットの 必 須 属 性 の 指 定 NAME 属 性 に @JAVAVMONLY と 指 定 した 場 合 には その 箇 所 にはCODE 属 性 を 指 定 する 必 要 はありません NAME 属 性 に @JAVAVMONLY と 指 定 した 場 合 その 部 分 はブラウザの 画 面 上 にWIDTH 属 性 とHEIGHT 属 性 で 指 定 された 幅 と 高 さを 持 つ 長 方 形 として 表 示 されます この 長 方 形 が 画 面 上 で 目 立 たないように WIDTH 属 性 とHEIGHT 属 性 をそれぞれ1に 指 定 しておくことをお 勧 めします Java VMの 先 行 起 動 上 記 の Java VMのみの 起 動 の 指 定 を 使 用 すると Java VMの 先 行 起 動 が 可 能 になります Java VMの 先 行 起 動 を 行 うために 必 要 な 手 順 は 以 下 のとおりです 1. Java VMの 先 行 起 動 を 行 うHTMLファイルの 作 成 a. まず アプレットを 実 行 するHTMLファイルとは 別 に アプレットの 実 行 に 先 立 って 呼 び 出 すHTMLファイルを 作 成 します このHTMLファイルには アプレットの 実 行 前 に 行 う 処 理 を 記 述 します アプレットの 実 行 前 に 行 うことができる 処 理 の 例 を 以 下 に 示 します - アプリケーションのタイトルページの 表 示 - お 知 らせの 表 示 - ユーザからの 何 らかの 入 力 要 求 b. 次 に このHTMLファイルに 上 記 の Java VMのみの 起 動 の 指 定 を 記 述 します このHTMLファイルが Java VMの 先 行 起 動 を 行 うHTMLファイルになります 2. Java VMの 先 行 起 動 を 行 うHTMLファイルの 実 行 a. ブラウザを 起 動 し Java VMの 先 行 起 動 を 行 うHTMLファイルを 最 初 に 呼 び 出 します ブラウザの 画 面 上 では HTMLファ イルに 記 述 したアプレット 実 行 前 の 処 理 が 実 行 されます この 間 に JBKプラグインはバックグラウンドでJava VMを 起 動 し ます したがって Java VMの 起 動 がブラウザの 画 面 上 の 処 理 を 妨 げることはありません b. アプレット 実 行 前 の 処 理 が 終 了 したら 次 にアプレットを 実 行 するHTMLファイルを 呼 び 出 します JBKプラグインによるJava VMの 起 動 が 完 了 している 場 合 には すぐにアプレットのダウンロードが 開 始 されます ユーザがJava VMの 起 動 完 了 を 待 つ 必 要 はありません 注 意 Java VMの 先 行 起 動 を 行 うHTMLファイルには JBKプラグイン 用 のアプレット 実 行 の 記 述 を 含 めないようにしてください HTMLファイ ルにアプレット 実 行 のための 記 述 が 含 まれている 場 合 には そのHTMLファイル 内 にあるJava VMの 先 行 起 動 の 指 定 は 無 効 になりま す 例 Java VMの 先 行 起 動 を 行 うHTMLファイルの 例 Java VMの 先 行 起 動 を 行 うHTMLファイルの 記 述 例 を 以 下 に 示 します <HTML> <HEAD> <TITLE>Java VMの 先 行 起 動 を 行 うHTMLファイルの 例 </TITLE> </HEAD> <BODY> <!-- この 部 分 には アプレットの 実 行 に 先 立 って 行 うことのできる 処 理 を 記 述 します - 26 -
( 例 ) アプリケーションのタイトルページの 表 示 お 知 らせの 表 示 ユーザからの 何 らかの 入 力 要 求 --> <!-- 以 下 は Java VMのみの 起 動 のための 記 述 です ブラウザの 画 面 上 には この 部 分 は 画 面 の 背 景 色 と 同 色 で 表 示 されます --> <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=1 HEIGHT=1> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="NAME" VALUE="@JAVAVMONLY"> </OBJECT> </BODY> </HTML> 2.3.10 アプレットのアクティブ/ 非 アクティブ 状 態 の 通 知 JBKプラグインを 使 用 した 場 合 のアプレットのアクティブ 状 態 とその 通 知 を 説 明 します ブラウザ 上 でアプレットを 実 行 する 場 合 には 1つのブラウザウィンドウ 上 に 複 数 のアプレットを 置 いて 実 行 することができます このた め ブラウザウィンドウのアクティブ 状 態 と 各 アプレットのアクティブ 状 態 は 必 ずしも 一 致 しません JBKプラグインでは アプレットのアクティブ 状 態 を 独 自 に 定 め そのアクティブ 状 態 が 切 り 替 わるタイミングをアプレットに 通 知 する 機 能 を 提 供 しています 複 数 のアプレットからなるシステムで アプレットごとに 動 作 環 境 を 切 り 替 えたい 場 合 などに この 通 知 を 使 用 すると 便 利 です アプレットのアクティブ/ 非 アクティブ 状 態 JBKプラグインは 以 下 のいずれかの 状 態 になった 場 合 にアプレットがアクティブ 状 態 になったものとみなします アプレットの 実 行 が 開 始 された 直 後 (start()メソッドが 呼 び 出 された 直 後 ) アプレット 上 の 部 品 にキーボードフォーカスが 設 定 された 場 合 アプレット 上 でマウスがクリックされた 場 合 また 以 下 のいずれかの 状 態 の 場 合 に アプレットが 非 アクティブ 状 態 になったとみなします アプレットの 実 行 が 停 止 した 後 (stop()メソッドが 呼 び 出 された 後 ) アプレット 上 の 部 品 から そのアプレット 以 外 のウィンドウにキーボードフォーカスが 移 った 場 合 アプレットを 表 示 しているブラウザのウィンドウが 非 アクティブになった 場 合 他 のアプレットがアクティブな 状 態 になった 場 合 アクティブ/ 非 アクティブ 状 態 の 通 知 イベント JBKプラグインは アプレットのアクティブ 状 態 が 切 り 替 わったときに PluginAppletEventをアプレットに 通 知 します PluginAppletEvent クラスはJBKプラグインが 提 供 するイベントクラスです PluginAppletEventクラスのAPIは 以 下 のとおりです クラス 名 - com.fujitsu.jbk.plugin.browser.pluginappletevent (extends java.awt.awtevent) 定 数 - PLUGINAPPLET_ACTIVATE アプレットがアクティブ 状 態 になったことを 表 すイベントIDです - 27 -
public final static int PLUGINAPPLET_ACTIVATE - PLUGINAPPLET_DEACTIVATE アプレットが 非 アクティブ 状 態 になったことを 表 すイベントIDです public final static int PLUGINAPPLET_DEACTIVATE コンストラクタ - PluginAppletEvent public PluginAppletEvent(Object source, int id) source イベントが 発 生 したアプレット id 発 生 したイベントの 種 類 を 表 すID 通 知 条 件 ポイント - アプレットに 最 初 に 通 知 するのはPLUGINAPPLET_ACTIVATEです - 非 アクティブ 状 態 のウィンドウのアプレットが 開 始 されたときは ウィンドウが 非 アクティブ 状 態 であるためPluginAppletEventは 通 知 しません 非 アクティブ 状 態 のウィンドウのアプレットが 開 始 されたときでも PLUGINAPPLET_ACTIVATEのPluginAppletEventを 通 知 す るためには jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.sw.event.initial_active=true アクティブ/ 非 アクティブ 状 態 の 通 知 を 受 け 取 る 方 法 アプレットがJBKプラグインからのアクティブ/ 非 アクティブ 状 態 の 通 知 を 受 け 取 って 処 理 を 行 うためには 以 下 の 手 順 に 従 ってくださ い 1. PluginAppletEventを 受 け 取 るためのイベントリスナを 作 成 します PluginAppletEvent を 受 け 取 るためのイベントリスナは PluginAppletListener インタフェースを 実 装 して 作 成 します PluginAppletListenerインタフェースはJBKプラグインが 提 供 するイベントリスナインタフェースです PluginAppletEventインタフェースのAPIは 以 下 のとおりです - インタフェース 名 - メソッド - com.fujitsu.jbk.plugin.browser.pluginappletlistener (extends java.util.eventlistener) - eventoccurred JBKプラグインがアプレットに 通 知 するイベントを 受 け 取 ります public abstract void eventoccurred(pluginappletevent event) event アプレットに 通 知 されたイベント - 28 -
2. PluginAppletContextクラスを 用 いて 作 成 したイベントリスナを 登 録 します 作 成 したイベントリスナは PluginAppletContextインタフェースのメソッドを 用 いて 登 録 します イベントリスナ 登 録 / 登 録 解 除 お よび アプレットを 明 示 的 にアクティブにするためのAPIは 以 下 のとおりです - インタフェース 名 - メソッド - com.fujitsu.jbk.plugin.browser.pluginappletcontext (extends java.applet.appletcontext) - addpluginappletlistener JBKプラグインからのイベント 通 知 を 受 け 取 るリスナを 登 録 します public abstract void addpluginappletlistener(pluginappletlistener listener) listener 登 録 するイベントリスナ - removepluginappletlistener JBKプラグインからのイベント 通 知 を 受 け 取 るリスナを 登 録 します public abstract void removepluginappletlistener(pluginappletlistener listener) listener 登 録 を 解 除 するイベントリスナ - activateapplet 引 数 で 渡 したアプレットがこのコンテキストに 属 する 場 合 アプレットをアクティブな 状 態 にします このコンテキストに 属 さ ないアプレットの 場 合 には 何 もしません public abstract void activateapplet(applet applet) applet アクティブな 状 態 にするアプレット PluginAppletEventクラス PluginAppletListenerインタフェースおよび PluginAppletContextインタフェースのクラスファイルは JBKプラ グインの 開 発 用 jarファイルに 格 納 されています(JBKをインストールしたフォルダ 配 下 の classes\jbkstd.jar になります) これらのクラス およびインタフェースを 使 用 したアプレットのクラスをコンパイルする 場 合 は クラスパスにJBKプラグインの 開 発 用 jarファイルが 含 まれ ていることを 確 認 してください 例 アクティブ/ 非 アクティブ 状 態 の 通 知 に 対 する 処 理 を 行 うアプレットの 実 装 例 PluginAppletContextは AppletクラスのgetAppletContext()メソッドを 呼 び 出 して 取 得 できます import java.applet.*; import java.awt.*; import java.awt.event.*; import com.fujitsu.jbk.plugin.browser.pluginappletevent; import com.fujitsu.jbk.plugin.browser.pluginappletlistener; import com.fujitsu.jbk.plugin.browser.pluginappletcontext; /** * アクティブ/ 非 アクティブ 状 態 の 通 知 を 受 け 取 るアプレット * このサンプルでは アプレットにPluginAppletListenerを 実 装 して * アプレットが 直 接 イベントを 受 け 取 るようにしている - 29 -
*/ public class ActivateSample extends Applet implements PluginAppletListener { /** * アプレットの 初 期 化 */ public void init() { setbackground(color.lightgray); // AppletContextを 取 得 する // JBKプラグインを 使 用 しているときには PluginAppletContextが 返 る AppletContext context = getappletcontext(); try { // 取 得 したAppletContextがPluginAppletContextかどうかを 確 認 する if (context instanceof PluginAppletContext) { PluginAppletContext plgcontext = (PluginAppletContext)context; } // JBKプラグインからのイベントを 受 け 取 るリスナを 登 録 する plgcontext.addpluginappletlistener(this); } } catch (Throwable ignore) { /* この 処 理 で 発 生 した 例 外 に 対 しては 何 も 行 わない */ } /** * JBKプラグインからイベントが 通 知 されたときの 処 理 * このサンプルでは アクティブ/ 非 アクティブ 状 態 の 切 り 替 わりに 応 じて * アプレットの 色 を 変 更 している */ public void eventoccurred(pluginappletevent e) { switch (e.getid()) { case PluginAppletEvent.PLUGINAPPLET_ACTIVATE: // アプレットがアクティブ 状 態 になった 場 合 setbackground(color.red); repaint(); break; case PluginAppletEvent.PLUGINAPPLET_DEACTIVATE: // アプレットが 非 アクティブ 状 態 になった 場 合 setbackground(color.lightgray); repaint(); break; } } } default: break; ポイント ブラウザアクティブ 時 の 強 制 アクティブ 化 ブラウザがアクティブ 状 態 になったときにアプレットをアクティブ 状 態 に 設 定 することができます jbkplugin.propertiesの 中 に 以 下 の 行 を 記 述 してください jbk.plugin.sw.fbc.force_activate=<ブラウザアクティブ 時 にアプレットをアクティブ 化 させる/アクティブ 化 しない> <ブラウザアクティブ 時 にアプレットをアクティブ 化 させる/アクティブ 化 しない>には 以 下 のどちらかを 設 定 してください - 30 -