Presentation is loading. Please wait.

Presentation is loading. Please wait.

卒研:データベースチーム 第4回 DOMを使った処理

Similar presentations


Presentation on theme: "卒研:データベースチーム 第4回 DOMを使った処理"— Presentation transcript:

1 卒研:データベースチーム 第4回 DOMを使った処理
2008/05/27 隈部 宣道

2 今日やること DOM Javaでの環境設定 Javaでの活用法 システム構築 開発環境 DOM+Servlet

3 DOMの環境設定(1) 復習 DOMはXMLを処理するAPI オブジェクトとして受け取りメモリに展開
Java、JavaScriptがやりやすい プラグインの導入 XML Parser for Java (IBM) Project X (Sun)

4 DOMの環境設定(2) JavaAPI org.w3c.dom javax.xml.parsers この辺を使えばDOMを利用した

5 大事なのは最後で、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の場所を指定している

6 DOMを使ったプログラミング(2) throws Exception XMLを扱うときは必ず記述 Javaでの例外処理の記述だと思えばok
書く場所はメソッドの引数を宣言したあ と

7 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>

8 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>

9 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>

10 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>

11 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++)

12 DOMを使ったプログラミング(4) XMLへのアクセスの仕方 // pageタグの1つをelementにセット
Element element = (Element)list.item(i); // page タグに付いていた属性の抽出 String id = element.getAttribute("id");

13 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();

14 DOMを使ったプログラミング(5) まとめ DOMを扱えるAPIがあるのは便利だが 長い 個人的にはかなりわかりやすかった

15 システム構築(1) 目的 DOM+Servletを用いた検索システムの 構築 概要 誕生月を入力する(1~12以外はエラー 処理)
XMLに登録されてるノードのチェック 合致した月に登録されている日を出力 その日の誕生花、花言葉などの出力

16 システム構築(2) 仕様 HTML form タグを用いて入力画面の生成 Postメソッドでservletに送る Servlet
doPostメソッドで受け取る HTMLの生成 DOMを用いてXMLの検索+出力 製作期間 調べながらで6時間くらいで製作

17 JEEとはJavaでwebアプリ製作などをするの に対応しているキットです
開発環境(1) Eclipse JEE(Java Enteprise Edition) 通常のeclipseだとservletが書けない ServletのコンパイルはTomcatが行う TomcatとEclipseを対応させる 日本語化が使えない JEEとはJavaでwebアプリ製作などをするの に対応しているキットです

18 プログラムデモ

19 プログラムの改良点 Java 文字列操作の知識不足 オブジェクト指向にもっと慣れる throw処理を理解する JavaScript
非同期通信を実装して動的にページを 作る XML 膨大な量のXMLが処理出来るか?

20 これからの予定 来週の予定 Struts(Javaのフレームワーク):隈部 SilverLight:谷中(未定) これからの予定
非同期通信についての理解を深める 今回のJavaの技術をチーム内に広める 実際に使うサーバーの模索?


Download ppt "卒研:データベースチーム 第4回 DOMを使った処理"

Similar presentations


Ads by Google