JSP中引用一个外部数据库连接池的错误

HF_SKY000 2010-09-20 01:04:35
在工程目录下有一个数据库连接池的类ConnectionPool,文件名为:ConnectionPool.java

在JSP中我想引入数据库连接池。开发环境是:Myeclipse + Tomcat.相关代码为:

<body>
<h2>查询结果:</h2>
<%!String sql="select username,password from sa.user";%>
<%
ConnectionPool pool =new ConnectionPool(
"oracle.jdbc.driver.OracleDriver",
"jdbc:oracle:thin:@100.200.100.1:1521:ORACLEDB",
"sa",
"sa"
);
pool.createPool();
Connection con =pool.getConnection();
PreparedStatement stmt =con.prepareStatement(sql);
ResultSet rs =stmt.executeQuery();
ResultSetMetaData rsData =rs.getMetaData();
out.println("<table border='1'>");
while(rs.next()){
out.println("<tr><th>"+rsData.getColumnLabel(0)+"</th></tr>");
out.println("<tr><th>"+rsData.getColumnLabel(1)+"</th></tr>");
}
out.println("</table>");
con.close();
pool.closeConnectionPool();
%>
</body>

报错信息有:
org.apache.jasper.JasperException: An exception occurred processing JSP page /DisplyDBInformation.jsp at line 23

20: "nmsdb",
21: "nmsdb"
22: );
23: pool.createPool();
24: Connection con =pool.getConnection();
25: PreparedStatement stmt =con.prepareStatement(sql);
26: ResultSet rs =stmt.executeQuery();


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause

javax.servlet.ServletException: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.DisplyDBInformation_jsp._jspService(DisplyDBInformation_jsp.java:106)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


root cause

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
com.bird.beans.ConnectionPool.createPool(ConnectionPool.java:206)
org.apache.jsp.DisplyDBInformation_jsp._jspService(DisplyDBInformation_jsp.java:84)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HF_SKY000 2010-09-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 changjiangzhibin 的回复:]
不加载驱动包是不行的
[/Quote]

我的问题是这样的:

我把驱动包只放到Tomcat的lib下,没有在Myeclipse没有配制build path就可以跑起来?这是何道理?

changjiangzhibin 2010-09-20
  • 打赏
  • 举报
回复
不加载驱动包是不行的
HF_SKY000 2010-09-20
  • 打赏
  • 举报
回复
果然是高手呀,

我发现把ORACLE的驱动包放到Tomcat的lib目录下,在Myeclipse里也没有添加,直接运行就OK了,

跟Java运用程序不一样呀。

这是何道理呀?
wuxiaoke2009 2010-09-20
  • 打赏
  • 举报
回复
没有将该驱动包 添加进来哈
wjf8882300 2010-09-20
  • 打赏
  • 举报
回复
要把ConnectionPool.java所在的那个包导进来
在前面加<%import ....%>
dqsweet 2010-09-20
  • 打赏
  • 举报
回复
驱动包要复制到 tomcat 的lib 下

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧