現在調査中の Web アプリケーション 埋め込み<applet>
には、いくつかの依存関係 (.jar ファイル) があります。
アプレットタグは次のようになります。
<applet ...
type="application/x-java-applet"
codebase="/webapp/applet">
...
<param name="codebase" value="./applet"/>
<param name="archive" value="a.jar,b.jar,c.jar"/>
<param name="codebase_lookup" value="false"/>
</applet>
アプレットは正常に動作しますが、問題は、最初にロードするときに、a.jar、b.jar、c.jar などがWeb サーバーから何度も (20 ~ 300) 回要求(およびダウンロード)されることです。 、それぞれ、アプレットの起動が非常に遅くなります。
何が起こっているのか、ロードされたクラスごとに個別にjarが再ダウンロードされていますか?
アプレットを適切に最適化/構成する方法はありますか? いくつかのキャッシング トリックを試しました ( のようなもの<param name="cache_archive" />
ですが、成功せず、この問題にアプローチする正しい方法であるかどうかさえわかりません。
注意!このアプレットはWS クライアントです(いくつかのJAXBアノテーション付きクラスと関連する依存関係があります)。
起動時のアプレットログには、次のようなものがたくさんあります。
network: Connecting http://127.0.0.1:7001/webapp/applet/a.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/a.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/a.jar with proxy=DIRECT
... ~100 more times a.jar is downloaded
network: Connecting http://127.0.0.1:7001/webapp/applet/a.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/b.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/b.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/c.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/a.jar with proxy=DIRECT
network: Connecting http://127.0.0.1:7001/webapp/applet/c.jar with proxy=DIRECT
...
Web サーバー アクセス ログには、アプレット ログが反映されます。
127.0.0.1 - "GET /webapp/applet/a.jar HTTP/1.1" 200 1232582
127.0.0.1 - "GET /webapp/applet/a.jar HTTP/1.1" 200 1232582
127.0.0.1 - "GET /webapp/applet/a.jar HTTP/1.1" 200 1232582
...
127.0.0.1 - "GET /webapp/applet/a.jar HTTP/1.1" 200 1232582