D:\jakarta-tomcat-4.0-b7\webapps\poolman\poolman-raw.jsp
|
<html>
<head>
<title>The Code Studio: PoolMan JSP Database Client</title>
</head>
<jsp:useBean
id="poolman"
class="com.codestudio.bean.PoolManBean"
scope="session">
</jsp:useBean>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<body bgcolor="#ffffff">
<center>
<table border=0 cellpadding=6 cellspacing=1>
<tr valign=top><td>
<font face="Helvetica","Arial" size="5" color="#000080">
<b>PoolMan JSP Database Client</b>
<br>
</font>
<font face="Helvetica","Arial" size="2" color="#808080">
<i>PoolMan v2.1</i><br><br>
</font>
<br><br>
</td>
</tr>
<!-- QUERY-->
<form action="PoolMan.jsp" method="post">
<tr><td bgcolor="gray">
<table cellpadding=2 cellspacing=0 width=100%>
<tr>
<td bgcolor="lightgrey" align="center" colspan="2">
<font face="Helvetica","Arial" size="4">
<b>SQL Statement</b>
</font>
</td>
</tr>
<tr>
<td bgcolor="lightgrey">
<font face="Helvetica","Arial">
<b>Use Database Pool:</b>
</font>
</td>
<td bgcolor="lightgrey">
<font face="Helvetica","Arial">
<SELECT NAME="poolname">
<%
String selectedPool = "";
try {
selectedPool = (String) request.getParameter("poolname");
if (selectedPool.length() > 1)
poolman.setCurrentPoolname(selectedPool);
selectedPool = poolman.getCurrentPoolname();
} catch (Exception e) {}
boolean poolSelected = false;
try {
for (Enumeration enum=poolman.getAllPoolnames(); enum.hasMoreElements(); ) {
String nextpool = (String) enum.nextElement();
if (nextpool.equals(selectedPool))
out.println("<OPTION SELECTED>" + nextpool);
else
out.println("<OPTION>" + nextpool);
}
} catch (Exception e) {
out.println("<b><i>No Pools Found</i><br>");
out.println("Please verify that poolman.xml is in your app server's CLASSPATH.<br>");
}
%>
</SELECT>
</font>
</td>
</tr>
<tr>
<td bgcolor="lightgrey">
<font face="Helvetica","Arial">
<b>Enter SQL:</b>
</font>
</td>
<td bgcolor="lightgrey">
<font face="Helvetica","Arial">
<%
try {
poolman.setQuery((String) request.getParameter("query"));
} catch (Exception e) {}
if ((poolman.getQuery() != null) && (poolman.getQuery().length() > 0))
out.println("<input name=\"query\" value=\"" + poolman.getQuery() + "\" size=\"50\">");
else
out.println("<input name=\"query\" size=\"50\">");
%>
</font>
</td>
</tr>
<tr>
<td bgcolor="lightgrey" align="center" colspan="2">
<font face="Helvetica","Arial">
<input type="Submit" value="Execute SQL">
</font>
</td>
</tr>
</table>
</td>
</tr>
</form>
<!-- RESULTS-->
<%
try {
if ((poolman.getQuery() != null) && (poolman.getQuery().length() > 0)) {
out.println("<tr valign=\"top\"><td bgcolor=\"gray\" align=\"center\">");
out.println("<table cellpadding=\"10\" cellspacing=\"0\" width=\"100%\">");
out.println("<tr valign=\"top\"><td bgcolor=\"lightgrey\" colspan=\"2\" align=\"center\">");
out.println("<font face=\"Helvetica\",\"Arial\" size=\"4\">");
out.println("<b>SQL Results</b></font><p>");
out.println("</td></tr>");
out.println("<tr valign=\"top\">");
out.println("<td bgcolor=\"lightgrey\">");
out.println("<font face=\"Helvetica\",\"Arial\">");
out.println("<b><u>ResultSet</u></b>");
out.println("</font><br>");
try {
java.util.Hashtable[] results = poolman.getResults();
out.println("<table cellpadding=\"1\" cellspacing=\"2\" border=\"1\">");
// print the header
Hashtable header = results[0];
out.println("<tr>");
for (Enumeration enum=header.keys(); enum.hasMoreElements(); ) {
String column = enum.nextElement().toString();
out.println("<td bgcolor=\"white\">");
out.println("<font face=\"Helvetica\",\"Arial\" size=\"4\"><b>");
out.println(column);
out.println("</b></font></td>");
}
out.println("</tr>");
// print the rest of the results
for (int i=0; i<results.length; i++) {
Hashtable row = results[i];
out.println("<tr>");
for (Enumeration enum=row.keys(); enum.hasMoreElements(); ) {
String column = enum.nextElement().toString();
// print the results by row
out.println("<td bgcolor=\"white\"><font face=\"Helvetica\",\"Arial\" size=\"3\">");
out.println(row.get(column).toString());
out.println("</font></td>");
}
out.println("</tr>");
}
out.println("</table>");
} catch (NullPointerException npe) {
out.println("<br><font face=\"Helvetica\",\"Arial\">");
out.println("Empty ResultSet<br>");
} catch (SQLException sqle) {
out.println("<br><font face=\"Helvetica\",\"Arial\">");
out.println("ERROR: SQLException thrown.<br>");
out.println(sqle.getMessage());
sqle.printStackTrace();
} catch (Exception hre) {
out.println("<br><font face=\"Helvetica\",\"Arial\">");
out.println("ERROR: Unable to process query.<br>" +
"Please verify that poolman.jar and your JDBC Driver " +
"are in your application server's CLASSPATH.<p>If the " +
"problem continues, try testing your database and JDBC " +
"configuration via PoolManSample from the command line.");
out.println("</font>");
}
out.println("</td>");
com.codestudio.util.JDBCPool active_pool = poolman.getCurrentPool();
out.println("<td bgcolor=\"lightgrey\">");
out.println("<font face=\"Helvetica\",\"Arial\">");
out.println("<b><u>PoolMan Info</u></b><br>");
out.println("<br>Number of queries this session: " + poolman.getQueryNumber());
out.println("<br>Last Statement: " + poolman.getQuery());
out.println("<br>Database pool: " + poolman.getCurrentPoolname());
if (active_pool.usingCache())
out.println("<br>Using cache: TRUE");
else
out.println("<br>Using cache: FALSE");
out.println("<br>DB URL: " + active_pool.getURL());
out.println("<br>DB Driver: " + active_pool.getDriver());
out.println("<br>DB User: " + active_pool.getUserName());
out.println("<br><br><b><u>PoolMan Metrics</u></b><br>");
out.println("<br>Active connections in this pool: " +
active_pool.numTotalObjects());
out.println("<br>Available Connections: " +
active_pool.numCheckedInObjects());
out.println("<br>Unavailable Connections (currently in use): " +
active_pool.numCheckedOutObjects() + "</b><p>");
out.println("</font>");
out.println("</td>");
out.println("</tr></table>");
}
} catch (Exception e) {
out.println("<tr><td bgcolor=\"gray\">");
out.println("<font face=\"Helvetica\",\"Arial\">");
out.println("ERROR: Unable to process query.<br>" +
"Please verify that poolman.jar and your JDBC Driver " +
"are in your application server's CLASSPATH.");
out.println("</td></tr>");
}
%>
</table>
</center>
</body>
</html>