Tomcat\webapp\dstest\WEB-INF\web.xml如下:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<resource-ref>
<description>
datasource jdbc/testpool
</description>
<res-ref-name>
jdbc/testpool
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
<welcome-file>
index.html
</welcome-file>
<welcome-file>
index.htm
</welcome-file>
</welcome-file-list>
</web-app>测试jsp如下:
Tomcat\webapps\dstest\test.jsp
<%@ page language="java"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<html>
<head>
<title>Test Database </title>
</head>
<body >
<center>Test Database Source Pools</center>
<table border="1" >
<%
String jndi_name="java:comp/env/jdbc/testpool";
String select_user_sql="select * from dstest";
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("No Context");
DataSource ds = (DataSource)ctx.lookup(jndi_name); Connection conn = ds.getConnection(); try {
PreparedStatement psPreparedStatement=conn.prepareStatement(select_user_sql);
ResultSet resultSet = psPreparedStatement.executeQuery();
while(resultSet.next()){
out.print("<tr>");
out.print("<td>"+resultSet.getString(0)+"</td>");
out.print("<td>"+resultSet.getString(1)+"</td>");
out.print("<td>"+resultSet.getString(2)+"</td>");
out.print("</tr>");
}
}
catch(SQLException e){
e.printStackTrace();
}
finally {
conn.close();
}
%>
</table>
</body>
</html>
数据库dstest中有有表test,结构如下
Id int
Name varchar
Address varchar
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<resource-ref>
<description>
datasource jdbc/testpool
</description>
<res-ref-name>
jdbc/testpool
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
<welcome-file>
index.html
</welcome-file>
<welcome-file>
index.htm
</welcome-file>
</welcome-file-list>
</web-app>测试jsp如下:
Tomcat\webapps\dstest\test.jsp
<%@ page language="java"%>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<html>
<head>
<title>Test Database </title>
</head>
<body >
<center>Test Database Source Pools</center>
<table border="1" >
<%
String jndi_name="java:comp/env/jdbc/testpool";
String select_user_sql="select * from dstest";
Context ctx = new InitialContext();
if(ctx == null )
throw new Exception("No Context");
DataSource ds = (DataSource)ctx.lookup(jndi_name); Connection conn = ds.getConnection(); try {
PreparedStatement psPreparedStatement=conn.prepareStatement(select_user_sql);
ResultSet resultSet = psPreparedStatement.executeQuery();
while(resultSet.next()){
out.print("<tr>");
out.print("<td>"+resultSet.getString(0)+"</td>");
out.print("<td>"+resultSet.getString(1)+"</td>");
out.print("<td>"+resultSet.getString(2)+"</td>");
out.print("</tr>");
}
}
catch(SQLException e){
e.printStackTrace();
}
finally {
conn.close();
}
%>
</table>
</body>
</html>
数据库dstest中有有表test,结构如下
Id int
Name varchar
Address varchar
Tomcat\config\server.xml加的那一段要加在
<host></host>之间
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.test_jsp._jspService(test_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)root cause org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
org.apache.jsp.test_jsp._jspService(test_jsp.java:69)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
2、进入http://localhost:8080/admin,通过图形界面配置connection pool
这样简单得多