JDOM処理データベースをXML変換に適用するJSP実装


一、JDOM紹介
DOMは、プラットフォームや言語に関係なくXMLドキュメントを表すための公式W 3 C規格であり、DOMとSAXを利用していることを知っています.
APIは、XMLドキュメントを解析および処理することができる.ここで紹介するJDOMはツリー操作に基づく純粋なJAVA APIであり、XMLを解析、作成、処理、実装するためのソリューションを提供していると言える.これらのAPIはDOMやSAX APIが提供する方法よりも直感的で、JAVAの経験のあるプログラマーにとってJDOMは非常に把握しやすいことがわかります.JDOMがXMLを処理する方法はDOMよりずっと簡単で、SAXを使用するよりも機能が強い.
JDOMの内部論理構造は基本的にDOMと同じであり、例えばDocument、Element、Commentなどのドキュメントノードタイプを有し、各JDOMドキュメントにはDocumentノードが1つ必要であり、ノードツリーのルートノードである.このルートノードには、Comment、Textなどのサブノードやリーフノードがあり得る.JDOMドキュメントの各ノードタイプは、フォーマットの良いXML文の要素に対応していません.これは、JDOMを使用してデータベースをXMLドキュメントに変換するための操作可能な根拠を提供します.
JDOMのメリット:
JDOMのドキュメントによる声明では、JDOMを適用するメリットが明らかになります.JDOM文書は、「JDOMは、JAVA/XMLの問題の80%を解決するために20%の労力を使用するという20/80の原則を引用している」と宣言しています.
●JDOMはJAVAで開発され、JAVAにサービスを提供している.JAVAコードの仕様とクラスライブラリに沿っている.
●多くのプログラミング言語において、JAVAはXMLを使用する優れたプラットフォームであり、XMLはJAVAアプリケーションの優れたデータ表現方法でもある.JDOM APIは純JAVA APIであり、JAVA開発者にとってより使いやすい.
・JDOM APIは、DOMが提供する方法よりも直感的であり、同時にXMLとのインタラクションを簡略化する.DOMを使うより速いです.
org.jdomは、JAVA API操作用のJDOMキットです.
org.jdomには、Document、Element、Comment、DocType、Attribute、TextなどのJAVAクラスが用意されており、これらのクラスはJDOMドキュメントへのアクセスと操作に必要です.これらのクラスを使用して、JDOMドキュメントを作成、遍歴、変更できます.
org.jdom.outputには、JDOMツリーのDOMツリー形式、XMLドキュメント形式の出力、印刷などを処理するDOMOutputter、XML LOutputterが提供されている.
二、環境配置
私のWINDOWS 2000システムプラットフォームでTOMCAT 4を採用しています.1.18、JDK1.4.0_02は開発とテストプラットフォームとして使用されます.
[マイコンピュータ]の[拡張]プロパティを使用して、次の2つの環境設定CLASSSPATHを「.;c:j 2 sdk 1.4.0_02libdt.jar;c:j 2 sdk 1.4.0_02libtools.jar;」に追加します.PATHは「.;c:j 2 sdk 1.4.0_02bin;」に設定されている.
SQL SERVER JDBCドライバ:mssqlserver.JArはTOMCATのLIBディレクトリの下に入れます.
三、JDOMの取得とインストール
現在、JDOMはSUNのJDKに含まれていないため(近い将来、JDOMは必ずSUN JDKの一部になると思います)、JDOMの環境を手動でダウンロードし、設定しなければなりません.
にあるhttp://www.jdom.orgJDOMの最新バージョンをダウンロードできます.ここでダウンロードしたのはJDOM beta 8です.jdom-b 8をダウンロードする.zip後解凍、JDOMのjarファイルはbuildディレクトリの下のファイルjdomです.JArは、上記ファイルをJ 2 SDK 1にコピーする.4.0_02ディレクトリのjre/lib/extディレクトリの下.
四、JDOMを利用してSQL SERVERデータベースからXMLへの変換を実現する
1、データベース、テーブルの作成
ここでは、顧客情報を変換する例として「顧客基本情報」を適用する.MICROSOFT SQL SERVER 2000データベースにデータを配置し、JSPとJDOM技術を用いてXMLインスタンスドキュメントを動的に生成します.
事前にMicrosoftSQL ServerデータベースCUSTOMにデータテーブルであるCUSTOMを作成しました.そのデータ構造は次の表の通りです.
フィールド名
コメント
を選択します.
空かどうか
Name
名前
varchar(12)
NOT NULL
ID
ID
int
NOT NULL
Company
会社
varchar(30)
NOT NULL
Email
TEL
varchar(15)
NOT NULL
 
データベースに次のレコードを入力します.
Name
ID
Company
Email
劉氏
001
会社1
[email protected]
蒋氏
002
会社2
[email protected]
 
2、データソースの設定
データソース(ODBC Source)は、実際にはデータを定義するソースです.データソースの設定方法は、[開始]->「設定」->「コントロールパネル」->「管理ツール」->「データソース(odbc)」->「System DSN」->「add」->「SQL Server」で、サーバ名(CUSTOMが存在するサーバ)、データベース名(CUSTOM)、データソース名(ここではDB_CUSTOM)、ユーザー名(lgz)、ユーザーパスワード(空)をそれぞれ設定し、データソースを構成します.
3、コードの作成
JSPコード変換の作成を開始します.JDOMを呼び出してXML構造を動的に生成し、JDBCを使用してSQL SERVEにアクセスします.
RデータベースはXMLコンテンツを動的に埋め込む.
<%@page contentType="text/html;charset=GBK"%>

<HTML>

<HEAD>

<TITLE> JDOM      XML   </TITLE>

</HEAD>

<BODY>

<%@page import="org.jdom.*"%>

<%@page import="java.*"%>

<%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();  

String url="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";

//  jdbc odbc     

String user="lgz";

String password="lgz";

Connection conn= DriverManager.getConnection(url,user,password);   //     

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  

//    statement

String sql="select * from client";   //     SQL  

ResultSet rs=stmt.executeQuery(sql);   //    

Document document=new Document(new Element("     "));//    

ResultSetMetaData rsmd = rs.getMetaData();  //     

int numberOfColumns = rsmd.getColumnCount(); //     

 int i=0;

 while(rs.next()){ //                              

    Element element0=new Element("   ");  //       JDOM 

    document.getRootElement().addContent(element0);

    for (i=1; i<=numberOfColumns;i++)

 {   String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312"); //    

    Element element=new Element(rsmd.getColumnName(i)).setText(date);

element0.addContent(element);

 }  

  }

 rs.close();                            //     

 stmt.close();                               //  statement

conn.close();                           //    

XMLOutputter outp = new XMLOutputter();

outp.output(document, new FileOutputStream("d:\\data.xml")); //  XML  

out.print("XML       !");

%>

<a href="file:///d|/data.xml">       XML   </a>

</BODY>

</HTML>
4、プログラムの実行
ブラウザの8080ポートでJSPを実行すると、予想されるxmlファイルが生成されます.
五、応用分析
XMLはデータ交換の基準として,ますます広範な応用が得られている.この論文では,データベースからXMLへの変換の基本手法を明らかにし,各異機種プラットフォームおよび各種フォーマットのデータのデータ交換を可能にした.元のデータをXML形式に変換できると、豊富なHTML形式で表現できます.ここでは、2つの側面の応用を挙げます.
1、XMLアプリケーションサーバー:
XMLアプリケーションサーバは、実際にはXMLをサポートするWebアプリケーションサーバであり、通常はテンプレート駆動であり、1つのシナリオ言語にSQL文を埋め込むことでデータを抽出し、XMLドキュメントを動的に構築する.
2、XMLベースのデスクトップアプリケーション
私たちはXSLを通じて同じデータを異なるデータ形式で端末の取引先に提出することができることを知っていて、1つのXSLファイルはデータの表示方式を説明して、あなたは多くのXSLと同じXMLドキュメントを接続して異なるHTMLベースの表現を提供することができて、このように事実上、私たちはXMLベースのデスクトップアプリケーションを創立することができます
この方法を採用するには主に2つの利点があります.まず、プラットフォームと言語で独立した方法でデータを操作することができます.次に、プログラミングを必要とせずに、同じデータに対する異なるビュー表示を実現することができます.
蒋振軍劉桂珍