甘先生Blog

生活就像一盒巧克力,你永远不知道你会得到什么

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  59 Posts :: 29 Stories :: 186 Comments :: 0 Trackbacks

一个JSP从数据库生成XML文件的例子:



getTable.jsp

<%@ page contentType="text/xml; charset=gb2312" %>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*, javax.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.math.*"%>

<%

Connection conn;
Statement stmt;
ResultSet rs;

try{
 String table_name 
= request.getParameter("tableName");

 
//mysql连接 
 
//Class.forName("com.mysql.jdbc.Driver").newInstance();
 
//String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111";
 
//Connection con = DriverManager.getConnection(URL);

 
//oracle连接 
 Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
 String URL
="jdbc:oracle:thin:@10.88.3.230:1521:cust";
 String user
="vincent";
 String password
="123456";
  conn 
= DriverManager.getConnection(URL,user,password);

  stmt 
= conn.createStatement();
  String sql 
= " SELECT * FROM "+table_name;
  rs 
= stmt.executeQuery(sql);

 
// 设置表格的名字
 String tableName = table_name.toUpperCase();

 
//得到列的名字
 ResultSetMetaData rsmd = rs.getMetaData();
 
int numColumns = rsmd.getColumnCount();
 String[] columnNames 
= new String[numColumns];
 
for (int i = 0; i < numColumns; i++{
  columnNames[i] 
= rsmd.getColumnName(i + 1);
 }

 
 response.setContentType(
"text/xml");  
 out.write(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
 out.write(
"<" + tableName + "s>");
 
//循环写入数据
 while (rs.next()) {
  out.write(
"<" + tableName + ">");
  
//每一行
  for (int i = 0; i < numColumns; i++{
   out.write(
"<" + columnNames[i] + ">");
   out.write(String.valueOf(rs.getObject(i 
+ 1)));
   out.write(
"</" + columnNames[i] + ">\n");
  }

 out.write(
"</" + tableName + ">");
 }

 out.write(
"</" + tableName + "s>");
  
 rs.close();
 conn.close();
 }

 
finally{
  
 }



%>




//结束
通过地址就可以访问了:

http://127.0.0.1:7001/getTable.jsp?tableName=emp

posted on 2005-11-24 12:37 甘先生 阅读(1507) 评论(0)  编辑  收藏 所属分类: OracleJavaEE