2016-04-26 13 views
0

既存のものを置き換えるアプレットで作業を開始します。以前はアプレットを開発していなかったので、私は普段のHelloWorldの例に行くと思っていました。アプレットビューアやブラウザで、HelloWorldクラスを含むJARファイルをHTMLと同じディレクトリ(つまり、http://localhost:8080/myApp)に配置すると、いくつかの方法で実行できます。 HelloWorldと呼ばれるディレクトリにJARファイルをmyAppディレクトリの直下に置き、<applet>タグのcodebaseパラメータをHelloWorldというように指定しても、JARファイルが動作するようになりました。しかし、classeslibのようなWEB-INFディレクトリを指定しようとすると、私はClassNotFoundExceptionとなります。私は間違って何をしていますか?JavaアプレットClassNotFoundException(コードベースあり)

+0

1)なぜアプレットをコーディングするのですか?教師がそれを指定している場合は、[CS教師が** Javaアプレットを教えるのを止めるべき理由](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop-teaching-java-applets /)を使用します。 2)[Java Plugin support deprecated](http://www.gizmodo.com.au/2016/01/rest-in-hell-java-plug-in/)および[Plugin-Free Webへの移動]を参照してください( https://blogs.oracle.com/java-platform-group/entry/moving_to_a_plugin_free)。 –

+0

私はそれがクラス割り当てのためにしたいと思っています:)それは従来のアプリケーションのためです... –

+0

...しかし、私はJava Web Startを使用する可能性を調査します(私は多くのサードパーティの商用ソフトウェア、私は可能なのを見なければならないでしょう) –

答えて

1

しかし、私は、このようなclasseslibなどWEB-INFディレクトリを指定しようとすると、私はClassNotFoundExceptionを取得します。私は間違って何をしていますか?

これらのディレクトリは、JSPとサーブレットで使用されるクラス/ jars(つまり、サーバーに必要なもの)のみを対象としています。その中のリソースはサイト訪問者に利用可能です。この意味において、「訪問者」は、ユーザエージェント(すなわち、ブラウザ)またはクライアント側プラグイン(フラッシュまたはJREなど)を意味する。

ウェブブラウザのアドレスバーに完全なURLをJarに貼り付けることで、これを確認することができます。ブラウザに「Enter」キーを押してください。サーバーは「禁止された」エフェクトにメッセージを戻します。

WEB-INFは、Java Webアプリケーションで見つかったフォルダの名前です:

も拡大WEB-INF info. pageを参照してください。 web.xml、必要なライブラリファイル、コンパイルされたクラスファイルなどのデプロイメント情報を格納するために使用されます。 通常、Webからはアクセスできません。戦争に参加したいが、公開したくないファイルはweb-infで保存することができます。

+0

ありがとう、アンドリュー。私はこの件に関する他のSOの質問を見ていましたが、WEB-INFフォルダツリーはアプレットの限界に達していませんでした。しかし、私はそれが常にそうではなかったと思う、なぜなら、私が特に見た主題について最初に答えられた質問はアプレットジャーを 'クラス'または 'lib' –

関連する問題