example for using DatabaseMetaData and ResultSetMetaData
          package coreservlet;

          import java.io.*;
          import java.sql.*;

          import javax.servlet.*;
          import javax.servlet.http.*;

          /**
          ?*
          ?* @author DuYang
          ?* @version
          ?*/
          public class NorthwindServlet extends HttpServlet {
          ???
          ??? /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
          ???? * @param request servlet request
          ???? * @param response servlet response
          ???? */
          ???
          ??? /** A simple servlet that connects to a database and presents the results from the query in an
          ???? *? HTML table.Ther driver,URL,username,,passwrd, and query are taken from input prarmeters.
          ???? */
          ??? protected void doPost(HttpServletRequest request, HttpServletResponse response)
          ??? throws ServletException, IOException {
          ??????? response.setContentType("text/html");
          ??????? PrintWriter out=response.getWriter();
          ??????? String docType=
          ??????????????? "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "+
          ??????????????? "Transitional//EN\"\n";
          ??????? String title="Northwind Results";
          ??????? out.println(docType+
          ??????????????? "<HTML>\n"+
          ??????????????? "<HEAD><TITLE>"+title+"</TITLE></HEAD>\n"+
          ??????????????? "<BODY BGCOLOR=\"#FDF5E6\"><CENTER>\n"+
          ??????????????? "<H1>Database Results</H1>\n");
          ??????? String driver=request.getParameter("driver");
          ??????? String url=request.getParameter("url");
          ??????? String username=request.getParameter("username");
          ??????? String password=request.getParameter("password");
          ??????? String query=request.getParameter("query");
          ??????? showTable(driver,url,username,password,query,out);
          ??????? out.println("</CENTER></BODY></HTML>");
          ??? }
          ??????? public void showTable(String driver,String url,
          ???????????????????????????????? String username,String password,
          ???????????????????????????????? String query,PrintWriter out)
          ??????? {
          ?????????? try
          ??????????? {
          ??????????????? //load database driver if it's not already loaded.
          ??????????????? Class.forName(driver);
          ??????????????? //Establish netword connection to database.
          ??????????????? Connection connection=
          ??????????????????????? DriverManager.getConnection(url,username,password);
          ??????????????? //Look up info about the database as a whole.
          ??????????????? DatabaseMetaData dbMetaData=connection.getMetaData();
          ??????????????? out.println("<UL>");
          ??????????????? String productName=
          ??????????????????????? dbMetaData.getDatabaseProductName();
          ??????????????? String productVersion=
          ??????????????????????? dbMetaData.getDatabaseProductVersion();

          ??????????????? out.println("<LI><B>Database:</B>"+productName+
          ????????????????????????????? "<LI><B>Version:</B>"+productVersion+"</UL>");
          ??????????????? Statement statement=connection.createStatement();
          ??????????????? //Send query to database and store queries.
          ??????????????? ResultSet resultSet=statement.executeQuery(query);
          ??????????????? //Print result.
          ??????????????? ResutlSetMetaData resultSetMetaData=
          ??????????????????????? resultSet.getMetaData();
          ??????????????? int columCount=resultSetMetaData.getColumnCount();
          ??????????????? out.println("<TR>");
          ??????????????? //Column index statrs at 1(a la SQL), not 0(a la Java).
          ??????????????? for(int i=1;i<columnCount;i++)
          ??????????????? {
          ??????????????????? out.println("<TH>"+resultSetMetaDate.getColumnName(i));
          ??????????????? }
          ??????????????? out.println();
          ??????????????? //Step through each row, retrieving the data in each
          ??????????????? // column cell as String.
          ??????????????? for(int i=1;i<columnCount;i++)
          ??????????????? {
          ??????????????????? out.println("<TD>"+resultSet.getString(i));
          ??????????????? }
          ???????????? out.println();
          ??????????? }
          ???????????? out.println("</TABLE>");
          ???????????? connection.close();
          ??????? }
          ??????? catch(ClassNotFoundException e)
          ??????? {
          ??????????? System.err.println("Error loading driver:"+e);
          ??????? }
          ??????? catch(SQLException e1)
          ??????? {
          ??????????? System.err.println("Error connecting:"+e1);
          ??????? }
          ??????? catch(Exception ee)
          ??????? {
          ??????????? System.err.println("Error with input:"+ee);
          ??????? }
          ??? }
          ??? private static void showResults(ResultSet results)throws SQLException
          ??? {
          ??????? while(results.next())
          ??????? {
          ??????????? System.out.println(results.getString(1)+"");
          ??????? }
          ??????? System.out.println("");
          ??? }
          ??? public static void printUsage()
          ??? {
          ??????? System.out.println("Usage:PreparedStatements host"+"dbName username password"+
          ??????????????? "vendow [print].");
          ??? }
          ?}

          NorthwindForm.htm

          Query Input:

          Driver:
          URL:
          Username:
          Password:
          Query:
          posted on 2006-04-09 11:48 飛揚 閱讀(300) 評論(0)  編輯  收藏 所屬分類: Sound Code

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          統計

          FAQ網站

          JSP/Java/Servlet開發工具

          JSP/Java/Servlet技術著名網站

          JSP/Servlet應用程序站點

          優選博客

          主站蜘蛛池模板: 辽宁省| 芮城县| 白朗县| 平南县| 四会市| 安阳市| 开鲁县| 麻江县| 本溪| 虎林市| 龙游县| 灵山县| 武隆县| 上蔡县| 兴安盟| 普兰店市| 高安市| 淮安市| 利辛县| 衡水市| 葫芦岛市| 临漳县| 荔波县| 定远县| 永和县| 清水河县| 波密县| 稻城县| 龙泉市| 洛隆县| 南漳县| 敖汉旗| 驻马店市| 凤翔县| 舒兰市| 崇明县| 奉节县| 梓潼县| 方城县| 佛山市| 墨竹工卡县|