Data Source的作用是从数据库连接池中获取数据库连接,使用完毕后,再放回数据库连接池。
1. 配置DataSource:pointbase数据库
配置成功后,应该能在DataSource所target的Server上的JNDI Tree中,能看到DataSource的JNDI值。
2. 在testdatasource.jsp中访问DataSource,获取数据库连接。
<HTML> <HEAD><TITLE>Testing Connection Pools</TITLE></HEAD> <BODY> <%@ page import="java.sql.*,javax.naming.*,javax.sql.*" %> <FONT SIZE="5" COLOR="navy"> <table> <tr><td align="left"><%@ include file="pages/includes/DWRHeader1.jspf" %></td></tr> <tr><td><CENTER><b>Dizzyworld Testing Center</b></CENTER></td></tr> </table> <FORM NAME="testCP" ACTION="testdatasource.jsp" METHOD="POST"> <TABLE WIDTH="50%" ALIGN="left" BGCOLOR="silver"> <TR><TD ALIGN="right" WIDTH="50%">Data Source Name</TD> <TD WIDTH="50%"><INPUT TYPE="text" NAME="txtDataSource" VALUE="dizzyworldDS"></TD> </TR> <TR><TD ALIGN="right">Table Name</TD> <TD><INPUT TYPE="text" NAME="txtTableName" VALUE="EMPLOYEE"></TD> </TR> <TR><TD ALIGN="right">Username</TD> <TD><INPUT TYPE="text" NAME="txtUsername" VALUE="system"></TD> </TR> <TR><TD ALIGN="right">Password</TD> <TD><INPUT TYPE="text" NAME="txtPassword" VALUE="weblogic"></TD> </TR> <TR><TD ALIGN="center" COLSPAN="2"> <INPUT TYPE="submit" NAME="btnSubmit" VALUE="Test Data Source"> </TD> </TR> </TABLE> </FORM> <% String datasource = request.getParameter("txtDataSource"); String table = request.getParameter("txtTableName"); String username = request.getParameter("txtUsername"); String password = request.getParameter("txtPassword"); if ((datasource != null) && (!datasource.equals(""))) { if ((table != null) && (!table.equals(""))) { try { InitialContext ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup(datasource); System.out.println("Looking up the " + datasource + " data source."); Connection connection = ds.getConnection(username, password); System.out.println("Getting the connection from the database."); Statement statement = connection.createStatement(); String sql = "SELECT * FROM " + table; ResultSet rs = statement.executeQuery(sql); System.out.println("Querying the database."); ResultSetMetaData meta = rs.getMetaData(); int numColumns = meta.getColumnCount(); %> <BR> <BR> <BR> <BR> <BR> <BR> <p> <TABLE WIDTH="670" BGCOLOR="wheat" ALIGN="left"> <% out.print("<TR>"); for (int j=1; j<numColumns; j++) { out.print("<TD>" + meta.getColumnName(j) + "</TD>"); } out.print("</TR>"); while (rs.next()) { out.print("<TR>"); for (int i=1; i<numColumns; i++) { out.print("<TD>" + rs.getString(i) + "</TD>"); } out.print("</TR>"); } %> </TABLE> </p> <% if (statement != null) statement.close(); if (connection != null) connection.close(); } catch (SQLException sqle) { %> </FONT><FONT SIZE="4" COLOR="navy"> Error: <%= sqle.getMessage() %><BR><BR> <% }catch (Exception e) {out.print("error: " + e); } } } %> </FONT> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <BR> <p> <%@ include file="pages/includes/DWRFooter1.jspf" %></td></tr> </p> </BODY> </HTML>
没有评论:
发表评论