站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题应用JDOM处理数据库到XML转换的JSP实现 (二)

应用JDOM处理数据库到XML转换的JSP实现 (二)

摘要: 应用JDOM处理数据库到XML转换的JSP实现 (二)
<tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=165>

Company

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

公司

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

varchar(30)

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 105.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=176>

NOT NULL

</td></tr><tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 99pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=165>

Email

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

TEL

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

varchar(15)

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 105.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=176>

NOT NULL

</td></tr></table>

<table style=BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt cellSpacing=0 cellPadding=0 border=1><tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 2.25pt ridge; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 99.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt width=165>

Name

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 2.25pt ridge; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt width=215>

ID

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 2.25pt ridge; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt width=215>

Company

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 2.25pt ridge; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 105.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt width=176>

Email

</td></tr><tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 99.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=165>

刘氏

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

001

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

公司1

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 105.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=176>

liu@yantai.com

</td></tr><tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 99.2pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=165>

蒋氏

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

002

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 128.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=215>

公司2

</td><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 105.3pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-border-left-alt: three-d-emboss windowtext 2.25pt; mso-border-top-alt: three-d-emboss windowtext 2.25pt width=176>

jiang@yantai.net

</td></tr></table>

[add]->[SQL Server],分别配置服务器名(CUSTOM所在服务器)、数据库名(CUSTOM)、数据源名称(此处定为DB_CUSTOM)、用户名(lgz)、用户口令(空),数据源就配置好了。

3、代码的编写

<table style=BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: three-d-emboss windowtext 2.25pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt cellSpacing=0 cellPadding=0 border=1><tr><td style=BORDER-RIGHT: windowtext 2.25pt ridge; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 2.25pt ridge; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 2.25pt ridge; WIDTH: 397.8pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 2.25pt ridge; mso-border-alt: three-d-emboss windowtext 2.25pt vAlign=top width=663>

<%@page contentType=text/html;charset=GBK%>

<head>

用JDOM实现数据库到XML的转换

</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 文档生成完毕!);

%>

点击打开产生的XML文档

</body>

</td></tr></table>

五、应用分析

XML应用服务器:



↑返回目录
前一篇: 困扰JSP的一些问题与解决方法
后一篇: 应用JDOM处理数据库到XML转换的JSP实现 (一)