• ベストアンサー

AjaxでJDBC利用

「Javaプロジェクトで、JDBCを利用した、GoogleSuggestのようなAjax入力支援プルダウンを表示するテキストボックスを作りたい」 Ajaxをプルダウンの表示内容をJDBCでサーバからデータを持ってきたいのですが、JavaScriptでJDBCを利用することはできないようなので、なにか解決法を教えてください。

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • frogeye
  • ベストアンサー率47% (11/23)
回答No.1

Ajax の概念をもう一度勉強し直してはいかがでしょうか? ‘非同期通信’、‘データをスクリプトで加工して表示’が Ajax といわれている技術の中心です。 通信そのものは HTTP を使うのが普通ですから、その部分は通常のウェブアプリケーションと同じように考えて良いはずです。 (返すのがHTMLではなくXMLになることが多いでしょうけど) プルダウンの表示内容を返すサーバーアプリ(bean等)を作り、それをスクリプト側で呼び出して、受け取ったデータを加工してリストボックスにしてあげれば良いのではないでしょうか?

pi31415926
質問者

お礼

回答ありがとうございます。 解決致しました。 Ajaxを誤解していました。 さっそく作成にとりかかりたいと思います。 また確認したいのですが、 【画面遷移なし】で INSERT・SELECT・DELETEなどDB処理をするのは 不可能ということでよろしいのでしょうか? (遷移しなければ、JAVAファイルが実行できないので、DBの再読み込みをしないため)

その他の回答 (1)

  • frogeye
  • ベストアンサー率47% (11/23)
回答No.2

#1です。 ‘非同期通信’を行えば画面全体を再読み込み(遷移)させなくても可能です。 具体的には スクリプト内で XMLHttpRequest オブジェクトを作って、それを使って通信(XMLHttpRequest.open(),XMLHttpRequest.send())することで、画面遷移無しの通信を行います。 確かにサーバーサイドの App を動かす必要はありますが、それが画面遷移と一致しないというのが‘非同期通信’の意味だと理解しています。 「Ajax」や「XMLHttpRequest」と言った単語で検索をかけると解説サイトが結構引っかかると思います。

参考URL:
http://allabout.co.jp/internet/javascript/closeup/CU20050515A/
pi31415926
質問者

お礼

わかりました^^ ありがとうございました。

関連するQ&A

  • FireFoxでAjaxを使用したサイトの情報を見るアドオンは?

    テキストボックスとボタンが配置されており ボタンをクリックすると、テキストボックスの内容をDBに登録する画面があります。 一連の動作はAjaxで実装されています。 私の中ではボタンをクリックした時にはJavaScriptを通してサーバー側に 「http~~」+「テキストボックスの内容」を引数に渡してるのかな? と思ってるのですが、こういった情報を表示できるような Firefox用のアドオンはないでしょうか?

  • Ajax&CGI

    Ajax勉強中の者です。 勉強のために簡単なAjaxプログラムを作成しているのですが、早速上手くいかず困っているので質問させて頂きます。 ※ソース等は手元にないのであまり詳しい状況は説明できないかもしれませんが・・。 実現したいことはテキストボックスがあり、そこにIPアドレスを入力しボタンを押すとサーバへ入力した値を送信し、サーバ側では送信された値を受け取りいろいろ処理をした後にクライアントへレスポンスし、クライアントで表示する みたいなことをやりたいのですが(説明下手ですみません・・)。 サーバ側はCGI(Perl)で作成しており、処理は簡単に説明するとクライアントから受け取ったIPアドレスでPingを打ってその結果をクライアントへ返すみたいな感じなのですが、上手く動作せず困っています。 PerlではNet::Pingモジュールを使ってIPアドへPingを実行しています。エラーの内容ですがXMLHttpRequestのstatusは500(サーバー内部エラー)となっており、”エラーを特定できません”と表示されます。 使用しているWebサーバはApacheですがこれは自分がテスト用PC(Linux)へインストールしたもので、もしかしたらサーバ構築に問題があるのかなぁ~なんて不安にもなっています。 テキストボックスに入力したIPアドをサーバで受信し、ブラウザにAjaxで”入力されたアドレスは~です”と表示させたりは動作したのですが・・。 また、Apacheの設定で拡張子.plをCGIとして扱わないようにすると(httpd.confファイルのAddHandlerへ.plを追記しない)サーバの処理結果でなくソースが丸ごと表示されてしまい困っています・・。 ただ拡張子.plをCGIとして扱うと処理結果がレスポンスされます。 この現象についてもどなたか原因を説明して頂けると感謝です。 原因&解決方法など分かる方はぜひご教授ください。 よろしくお願い致します。

  • Ajax⇒CGI

    JavaScriptは結構知ってますが、 AjaxとPerlに関しては初心者のものです。 早速ですが質問です。 Ajaxで送信したデータをCGI(Perl)で処理して、 サーバーのテキストに保存する方法が良く分かりません。 サーバーはCGIを許可しているところを使っています。 どなたか詳しい方、ご教授お願いします!

  • 「SubmitせずにAjaxからCGIを呼び出して結果をHTML上に表

    「SubmitせずにAjaxからCGIを呼び出して結果をHTML上に表示したい」 HTMLファイル上にテキストボックスとそれと対になるラベル(ラベルじゃなくても良いのですが。。)のセットがいくつかあります。 テキストボックスにコードを入力したら、ラベルにそのコードに対応する商品名を表示したいと思っています。 テキストボックスにコードを入力後、フォーカスが離れたら(Onchangeで)Ajaxでそのコードの値を取得し、そのデータをCGIに渡してサーバにあるDBに接続し、その結果をHTML上のラベルに表示したいと思います。 Sbmitせずにフォーカスが離れた場合に、データをCGIに受け渡し、そのデータを画面遷移しないで、HTML上に表示するのはどのようにすればいいのでしょうか。 Ajaxを使えばいいと教わったのですが、色んなサイトを調べてみたのですが、Ajaxが初心者で、よくわからず、コードなどございましたら教えて頂けましたら嬉しいです。 よろしくお願い致します。

    • ベストアンサー
    • AJAX
  • jqueryMobileがAjax?

    Ajaxという単語の意味がわからなくなりました… jqueryMobileの様々な解説をみているとページ切り替え時とかにAjaxによってとかいう表現が出てきますが、jqueryMobileは既にサーバーから取得したHTMLをjavascriptで表示切り替えしてるだけで、各ページの情報を適宜サーバーから取得しているというわけじゃないと思います。 Ajaxの定義はjavascriptを用いてページ遷移をすることなくサーバーと通信すること、と思っていたので、このjqueryMobileのAjaxという単語の使い方に違和感を覚えます。 jqueryMobileの解説でのAjaxって単語の使われ方は正しいんでしょうか? それともjqueryMobileは実際はクライアントサイドでの表示切り替えだけでなくサーバーとの通信を行ってるんでしょうか? 参考 http://dev.screw-axis.com/doc/jquery_mobile/components/pages_dialogs/page_links/

  • どこまでがAjaxなの?

    現在、Ajaxを勉強中の初心者です。 質問のタイトル通りなのですが、どこまでがAjaxなのかイマイチわかりません。 AjaxはJavaScript + XMLで非同期通信をする技術ですが 1.画像やプログラムファイルをサーバPC側に入れておいてクライアントPC側でラジオボタンの選択によって画像表示を変えるのはAjaxですか、それともただのJavaScriptですか? 2.サーバを使って以下のような入力可能文字カウンタを表示させるのはAjaxですか、それともただのJavaScriptですか? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>文字のカウント</title> </head> <body> <form>   <textarea cols="46" rows="5" id="title1" name="title1" size="50"></textarea><br />   あと<span id="inputlength1">20</span>文字入力できます<br /> </form>   <script type="text/javascript"><!--     function lengthCounter (node, max, cut) {       max = max || Number (node.maxLength) || 20;       return function () {         var rest = max - node.value.length;           if (rest < 0) {             if (cut) {               alert ('20文字以内にしてください');               rest = max;               node.value = node.value.substring (0, max);             }           }           return rest;       };     }     function dispValue (node, cbFunc) {       return function () {         node.firstChild.nodeValue = cbFunc ();   };     }     setInterval (dispValue ( document.getElementById ('inputlength1'),     lengthCounter (document.getElementById ('title1'), 20, true)), 100);   // --></script> </body> </html> 3.「googleサジェストのインクリメンタル検索にはAjaxの技術が利用されている」←ここでのAjaxにはPHPも含まれますか? 私はPHPをAjaxの枠には入れないような気がします。正確にはPHPとAjaxでインクリメンタル検索機能がつくられていると思うのですが。 4.PHPのみでAjaxと同じ非同期通信ができればそれはAjaxと呼ぶのか? よろしくお願いします。

    • ベストアンサー
    • AJAX
  • 少々複雑なフォームのコーディング

    質問をお願い致します。 ただ今少し複雑なフォームのコーディングをしております。 Javascriptを使って構築したいと思っています。 1.プルダウン 選択肢1を選ぶ⇒プルダウン2が表示され小項目を選択 選択肢2を選ぶ⇒プルダウン2は表示されない 選択肢3を選ぶ⇒プルダウン2が表示され小項目を選択 選択肢4を選ぶ⇒テキストボックスが表示され、テキストを入力できる 2.チェックボックス⇒テキストボックス チェックを入れる⇒テキストボックスが出現 チェックを外す⇒テキストボックスは消える 初心者のため、どなたがご教示頂けますと助かります。 どうぞよろしくお願い致します。

  • VS2008でAjaxを使いたいのですが・・・

    現在下記のエラーが出ます。 Microsoft JScript 実行時エラー: AjaxControlToolkit requires ASP.NET Ajax 4.0 scripts. Ensure the correct version of the scripts are referenced. If you are using an ASP.NET ScriptManager, switch to the ToolkitScriptManager in AjaxControlToolkit.dll. 行った手順は、 AjaxControlToolkit.Binary.NET35をダウンロードしてきて、 解凍したものをプロジェクトの配下に置いてフォルダをBinに変えてAjaxControlToolkit.dllを参照させております。ツールボックスの方もアイテムの選択でプロジェクト配下のAjaxControlToolkit.dllを参照させております。 FormにScriptManegerとテキストボックスを配置してテキストボックスのスマートタグでエクステンダの追加でCalenderを選択しました。 実行したところ上記のエラーが出ます。 ツールボックスのScriptManegerのバージョンは3.5.0.0と書いてあり、CalendarExtenderの方は 3.5.40412.0と書いてあります。4.0にはなっておりませんが4.0を参照しているのでしょうか? エラーなくAjaxを使えるようにするにはどうしたらよいでしょうか?

  • Ajaxについて教えてください。(定義と実装方法について)

    Ajaxについて教えてください。 (定義について) http://www.atmarkit.co.jp/fwcr/rensai/imasara03/imasara03_1.html (サンプル集) http://jsajax.com/default.aspx 【定義について】 >>Ajaxは略語で、正式名称は「Asynchronous JavaScript + XML」となります。Asynchronousは「非同期」という意味 とされいるようなのです。他にも調べてみると、 「Javascriptを使い,Webページとは非同期(Asynchronous)にXML形式(もしくはテキスト形式)のデータ通信を行う手法」といった風にかかれています。 この「Webページとは非同期」という部分がわからないのですが、どういったものを指しているのでしょうか? 【実践方法について】  Ajaxの実装はどういった手順で行うものなのでしょうか?  参考でみたホームページで、ライトボックスをみて感動したので、早速使ってみたいと思いました。いざAjaxサンプルページに載っている、ライトボックスのコードをコピー&ペーストで、自分のPC上で試してみたのですが、動かず悩んでいます。(汗)  調べていくうちに、ライブラリが必要なようなのですが、どのように実装することで、ライトボックスは使用できるようになるのでしょうか?    AjaxサンプルのURLにjQueryを使い倒せ!ということから、jQueryという、Ajax用のライブラリがあるのでしょうか?

    • ベストアンサー
    • AJAX
  • Ajaxの勉強

    Ajaxのマルチウィンドウというのを使ってみたくて先日 http://okwave.jp/qa2822223.html こちらで質問させていただいたのですがなかなか回答が得られず基礎から勉強したいのですが・・・ なかなかよいサイトにめぐり合えません(><) 基礎から勉強できるサイトをご存じないでしょうか? http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html 先程こちらのサイトを見ていたのですが第2章4節で既に躓いてしまいました data.txtを読み込んでフレーム内に表示するものだと思うのですがうまく表示されません 第1章4節で必要な知識として HTML スタイルシート JavaScript XML サーバー側のプログラム (CGIやデータベース等) とあります。XML以外はまだ勉強中の身ではありますが多少は扱えます XMLの勉強からはじめた方がよいのでしょうか?