パソコン120%活用研究(アセンブラ、DOS、Windows、旧型PCの活用研究)
レガシー環境の維持 (Java Appletを動かす) |
---------------------------------------------------------------------------
レガシー環境でないと動かないアプリケーション、デバイスはいろいろありますが、
それらをレガシー環境を維持してなんとか動かすためのページ。
Java Appletも最新の環境では動かないケースが増えてきたので、今回はJava Appletを
動かすことにトライしてみました。
---------------------------------------------------------------------------
--その他のJAVAのトラブル--
Windows10でJavaアプリを動かすためのJavaランタイム(JRE)がインストールできない
---------------------------------------------------------------------------
Webブラウザの機能拡張の方法としてJava Applet(Javaアプレット)は便利な方法でしたが、セキュリティ上の
問題もあり、その使用環境が厳しくなっています。
ChromeがJava appletをサポートしなくなり、WebブラウザでJava Appletの使用ができなく
なりつつあります。
しかし、行政の電子入札の登録を始めまだまだJava Applet(Javaアプレット)を使っているページも多数あり、
レガシーな利用環境を維持する必要性に迫られている人も多いのではないでしょうか。
電子入札のサイトであたふた。やっぱり紙の時代がよかったなあ、というつぶやきが聞こえてきそう
ですが、笑えないです。
ちなみに古いJAVAがウイルス感染経路として悪用されてきたことからセキュリティ強化策の一環として
JAVA 1.7.0.51以降、正規の署名がついていないJavaアプレットの起動をブロック(2014年1月)するようになっています。
また、2014年9月のアップデートでIE(9,10,11)は古いバージョンのJAVAの起動をブロックするようになっていますので、
それ以降、Javaアプレットを使っているページでJavaアプレットが使えなくなった人は多いのではないかと思います。
1. Java Appletが動かない
自分のJava appletのテストページ しろねこが歩くに試しにアクセスしてみる。
ちなみに環境は Windows7 IE11Java 1.7.0.25
以下の通り、Java Appletが起動しない。
まずは、コンテンツはブロックされている旨の通知が出る。
[ブロックされているコンテンツを許可]をクリックすると、Javaが最新のものではないと警告
Java appletの表示部分をクリックすると、Javaのバージョンが古い(期限切れ)との警告。
ということで、Java Applet(Javaアプレット)起動できず。
2. Java Appletを動かすまで
最新のJavaランタイムでないとブロックされるということなので、まずJAVAを更新する。バージョンは1.8.0.151に
さらに、Internet オプション -[セキュリティ タブ]の
信頼済みサイトに登録してみた。
昔なら、おそらくこれで行けたはずですが・・
それでも、起動しかかるものの、やはり起動できず
ブロックされたJavaアプリケーションの表示。
Java appletの表示されるはずの場所をクリックすると、セキュリティにより実行がブロックされているとの警告
そこで、JAVAコントロールパネルで例外サイトに登録してみる。
どうやら重要なのはこちらの例外サイトへの登録らしい。
Javaコントロールパネルの[セキュリティ]タブで、セキュリティレベルを「高」にして
例外サイトに登録
[サイト・リストの編集]をクリックし、例外サイト・リストの編集画面を開く。
ここに、例外に追加したいサイトを記入する。
旧バージョンのJavaも入っていたので、[Java]タブを開いて、Javaランタイムも1.8.0_151を有効にしておく。
ここまで準備してからアクセスすると、セキュリティ警告画面がでて、署名されていないアプリケーションを
実行するかどうか聞かれる。
ここで、[実行]をクリックすると、ようやくJava Appletが起動できる。
はあ、やっとです。
3. 自分のPCのローカルにあるJava Appletを起動する
作成途中のJava Appletの動作をテストするなど、
自分のPCのローカルにあるJava Appletを試す場合の方法についても書いておきます。
ひとつはWebサーバ(appacheとかanhttpd)を自分のPCで起動しておいて、localhost
でアクセスする方法。
appacheについては、ローカルサーバ環境でCGIのテスト(Appache)
anhttpdについては、ローカルサーバ環境でCGIのテスト(anhttpd)
anhttpdのほうが設定も簡単ですが、今はダウンロードできないかも。
もうひとつは、Java SDKのなかにある、appletviewerで見る方法
appletviewerで開くファイルは、Java applet(classファイル)を直接指定するのではなく、Java
appletを
埋め込んでいるhtmlファイルになります。そうすると、htmlに埋め込まれたJava
appletのみ起動されます。
以下はNGの事例
直接ファイルをクリックして起動すると、ブラウザからfile:// プロトコルでアクセスすることになるが
Javaコントロールパネルの例外サイト・リストにfile:// で登録しても、file://
プロトコルでは
Java Appletは起動できない。