2011-07-19 4 views
1

私はMS Accessデータベースと通信するアプレットを作成しました(少なくとも必要です)。 Dr JavaやNetBeansで実行するとうまくいきますが、.classファイルをHTMLページに埋め込み、htmlページを開くと、実行されているように見えますが、実際にデータベースに加えるはずの変更は実際には起こりませんデータベースからデータを取り出すこともできません。私は何をする必要がありますか?htmlページに埋め込まれたアプレットを使用してデータベースと通信する

注:htmlファイル、クラスファイル、およびJavaソースファイルは、すべて自分のコンピュータと同じフォルダにあります。 htmlファイルは公開されていません。アプレットをテストするために作成したばかりです。

答えて

1

other threadにOPでコメント。)

あなたはどのようにアプレットが自身のサーバーに「電話家」することができます説明していただけますか?

あなたの現在のアプローチでの基本的な問題は、DBとアプレットが同じ「サーバー」にあるかどうかについてJREが混乱していると思われることです。最初に行うことは、フォルダやディレクトリ(またはそれらに関連付けられたURL)について考えるのをやめ、アプレットにアクセスするなど、すべてを実行することです。ローカルサーバー。だから、アプレットへのURLは

http://localhost:8080/the/applet.html

が続いてDBへのすべての呼び出しは、同様に、サーバを介して行われていることを確認します。..のようなものでなければなりません。

2

アプレットはサンドボックス環境で実行されます。アプレットがユーザシステムリソースにアクセスする必要がある場合は、署名する必要があります。 ".class"ファイルをjarファイルにパッケージします。アプレットタグ内のあなたのjarを参照するjarファイルの外にhtmlファイルがあります。アプレットjarに署名します。 http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html

-----------更新日------------------------------

サーバー側のデータベースに接続するには、2通りの方法があります。

1-難しい方法です。信頼できないアプレットは、コンピュータのハードディスクには触れません。したがって、アプレットは、ハードドライブ上のネイティブまたはその他のローカルファイル(JDBCデータベースドライバなど)を使用することはできません。最初の代替ソリューションは、ローカルにインストールされたJDBCドライバを使用して、サーバー側のデータベースに直接接続できるデジタル署名付きアプレットを作成することです。

2-簡単な方法。信頼できないアプレットは、ダウンロードされたサーバーへのネットワーク接続のみを開くことができます。したがって、アプレットがダウンロードされたサーバーノードに、データベースリスナー(データベース自体またはミドルウェアサーバーのいずれか)を配置する必要があります。アプレットは、アプレットがダウンロードされたWebサーバと同じコンピュータノードにあるミドルウェアサーバへのソケット接続を開きます。ミドルウェア・サーバーはメディエーターとして使用され、データベースに接続してデータを抽出します。

+0

私はそれを読んでいますが、htmlを公開するときにアプレットが自分のシステムにアクセスできるようにしたいと思います。私は自分のコンピュータ上のデータベース(または私が実行しているサーバ)にアクセスし、他のユーザのホームファイルにはアクセスしないようにしたいだけです。どうすればいい? – joseph

+0

詳細については私の答えを更新しました。 – othman

2

データベースをサーバー上に配置する場合は、アプレットがオンのサーバーと同じサーバー上に配置する必要があります。例えば。 Jettyを使用して、JDBCを介してデータベースと通信するサーブレットを作成します。アプレットはサーブレットと通信する必要があります。おそらくWebサービスとして通信する必要があります。

+0

アプレットを使用してデータベースと直接通信することはできませんか? (サーバでは、データベースを持っているコンピュータを意味しています - 実際の定義がわかりません) – joseph

+1

@joseph:はい、可能です。接続するにはJDBCを使用するだけです。しかし、それは*推奨されていません。 – Jonas

+0

ありがとう、私は今JDBCを使用していますが、私の質問はまだ立って、Othmanが提供したWebサイトは本当に私の問題を解決しませんでした。また(この質問は二次的に重要です)、なぜそれが推奨されないのですか?セキュリティ上の理由から、パスワードで保護されていても、特定のネットワークのユーザーだけがアクセスできるため、権限のないアクセスは問題にならず、データは機密ではありません。 – joseph

関連する問題