卒研:データベースチーム 第4回 DOMを使った処理 2008/05/27 隈部 宣道
今日やること DOM Javaでの環境設定 Javaでの活用法 システム構築 開発環境 DOM+Servlet
DOMの環境設定(1) 復習 DOMはXMLを処理するAPI オブジェクトとして受け取りメモリに展開 Java、JavaScriptがやりやすい プラグインの導入 XML Parser for Java (IBM) Project X (Sun)
DOMの環境設定(2) JavaAPI org.w3c.dom javax.xml.parsers この辺を使えばDOMを利用した
大事なのは最後で、xmlの場所を指定している DOMを使ったプログラミング(1) DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = dbfactory.newDocumentBuilder(); Document doc = builder.parse(new File("/Users/Nobumichi/workspace/sotuken_w eb/List.xml")); 宣言はこの3つ 大事なのは最後で、xmlの場所を指定している
DOMを使ったプログラミング(2) throws Exception XMLを扱うときは必ず記述 Javaでの例外処理の記述だと思えばok 書く場所はメソッドの引数を宣言したあ と
XMLの復習 <?xml version="1.0" encoding="Shift_JIS" ?> <site> <title>JavaでHello World</title> <page id="28"> <title>EJB編</title> <file>ejb.htm</file> </page> <page id="33"> <title>DOM編</title> <file>xmldom.htm</file> </site>
XMLの復習 <?xml version="1.0" encoding="Shift_JIS" ?> <site> <title>JavaでHello World</title> <page id="28"> <title>EJB編</title> <file>ejb.htm</file> </page> <page id="33"> <title>DOM編</title> <file>xmldom.htm</file> </site>
XMLの復習 <?xml version="1.0" encoding="Shift_JIS" ?> <site> <title>JavaでHello World</title> <page id="28"> <title>EJB編</title> <file>ejb.htm</file> </page> <page id="33"> <title>DOM編</title> <file>xmldom.htm</file> </site>
XMLの復習 <?xml version="1.0" encoding="Shift_JIS" ?> <site> <title>JavaでHello World</title> <page id="28"> <title>EJB編</title> <file>ejb.htm</file> </page> <page id="33"> <title>DOM編</title> <file>xmldom.htm</file> </site>
DOMを使ったプログラミング(3) XMLへのアクセスの仕方 // root をXMLの先頭にセットする Element root = doc.getDocumentElement(); // NodeList に “page” タグの中身全てを放り込む NodeList list = root.getElementsByTagName("page"); // NodeListのループ処理 for(int i=0; i<list.getLength(); i++)
DOMを使ったプログラミング(4) XMLへのアクセスの仕方 // pageタグの1つをelementにセット Element element = (Element)list.item(i); // page タグに付いていた属性の抽出 String id = element.getAttribute("id");
DOMを使ったプログラミング(4) XMLへのアクセスの仕方 // 子供にアクセスするためにtitleをlistに NodeList titleList = element.getElementsByTagName("title"); // “title”の先頭をelementに Element titleElement = (Element)titleList.item(0); // titleElementの最初の子供の値を格納 String title = titleElement.getFirstChild().getNodeVal ue();
DOMを使ったプログラミング(5) まとめ DOMを扱えるAPIがあるのは便利だが 長い 個人的にはかなりわかりやすかった
システム構築(1) 目的 DOM+Servletを用いた検索システムの 構築 概要 誕生月を入力する(1~12以外はエラー 処理) XMLに登録されてるノードのチェック 合致した月に登録されている日を出力 その日の誕生花、花言葉などの出力
システム構築(2) 仕様 HTML form タグを用いて入力画面の生成 Postメソッドでservletに送る Servlet doPostメソッドで受け取る HTMLの生成 DOMを用いてXMLの検索+出力 製作期間 調べながらで6時間くらいで製作
JEEとはJavaでwebアプリ製作などをするの に対応しているキットです 開発環境(1) Eclipse JEE(Java Enteprise Edition) 通常のeclipseだとservletが書けない ServletのコンパイルはTomcatが行う TomcatとEclipseを対応させる 日本語化が使えない JEEとはJavaでwebアプリ製作などをするの に対応しているキットです
プログラムデモ
プログラムの改良点 Java 文字列操作の知識不足 オブジェクト指向にもっと慣れる throw処理を理解する JavaScript 非同期通信を実装して動的にページを 作る XML 膨大な量のXMLが処理出来るか?
これからの予定 来週の予定 Struts(Javaのフレームワーク):隈部 SilverLight:谷中(未定) これからの予定 非同期通信についての理解を深める 今回のJavaの技術をチーム内に広める 実際に使うサーバーの模索?