JSP连接Oracle数据库出错,希望大家帮忙啊,急急急!拜托了!

waling1979 2004-08-11 12:20:03
我的类路径是:D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage
jsp路径:D:\tomcat\webapps\ROOT\
调用路径:http://130.1.1.213:8080/connOracle.jsp

openOracle.java

package yourpackage;
import java.sql.*;
public class openOracle
{
String sDBDriver="oracle.jdbc.driver.OracleDriver"; String sConnStr="jdbc:oracle:thin:@130.1.1.213:1521:yourservername";
Connection conn=null;
ResultSet rs=null;
public openOracle()
{
try{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println("openOracle();"+e.getMessage());
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try{
conn=DriverManager.getConnection(sConnStr,"username","password");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}


connOracle.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%@ page language="java"import="java.sql.*"%>
<jsp:useBean id="db" scope="page" class="yourpackage.openOracle">
<%
String sql="select * from user";
ResultSet rs=db.executeQuery(sql);
String mess="";
if(rs.next())
{
mess="连接成功!";
}
else
{
mess="连接失败!";
}
rs.close();
%>
<HTML>
<HEAD>
<meta charset="gb2312">
<META HTTP-EQUIV="Content-Type" ONTENT="text/html;charset=gb2312">
<TITLE>
数据库连接测试
</TITLE>
</HEAD>
<BODY>
<H2>
数据库连接测试结果:
<%=mess %>
</H2>
<P>
</P>
</BODY>
</HTML>

openOracle.java可以正常编译,可是当运行connOracle.jsp却出错。类似于:
org.apache.jasper.JasperException: oracle.jdbc.driver.OracleDriver
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
这些东西。

我也看过类似我这个问题的贴子,但还是不懂。只是将classes12.zip压缩包放在
哪个目录下吗?还用不用重新指定环境变量?还下载什么驱动吗?用不用修改什么文件?
真希望那位高手指点一番,最好是详细些,请把具体的操作好好给我讲件,在此先谢过了,拜托各位了!多谢!!!
...全文
338 点赞 收藏 29
写回复
29 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
waling1979 2004-08-16
问题都解决了,谢谢大家了,以后还请多多帮忙啊
回复
waling1979 2004-08-13
帮帮忙啊,我要不行了,拜托大家了!!!!
回复
waling1979 2004-08-13
可是我必须用bean啊,拜托大家再帮忙看看啊,其中classes和yourpackage文件夹都是我自己建的。帮帮忙忙啊 ,我几急着用啊!是路径不对,还是环境设的不对,还是别的原因啊?再帮我看看吧,多谢了!
回复
hawkcht 2004-08-13
使用bean好象是要发布的,但是具体怎么发布就不清楚了,让高手来解决吧
回复
nystroM 2004-08-12
连oracle很简单的。用servlet或bean难一点,用jsp连就很简单了

只要几句:
conn.jsp
-------------------------------------
<%@ page import="java.sql.*" %>

<% Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@127.0.0.1(数据库ip):1521:数据库名";
String user="admin_name";
String pwd="admin_pass";
Connection conn= DriverManager.getConnection(url,uid,pwd);
Statement stmt=conn.createStatement();
%>

存一下就可以了!

以后需要使用数据库的jsp里,开头写上<%@ include file="conn.jsp" %>就可以了!
hehe , asp的方法, 不过很好用
回复
hawkcht 2004-08-12
我的环境变量:
classespash: d:\j2sdk1.4.2\bin;.;d:\j2sdk1.4.2\lib\dt.jar;d:\j2sdk1.4.2\lib\tools.jar;%JAVA_HOME%\lib;%TOMCAT_HOME%\common\lib

java_home: d:\j2sdk1.4.2

pash: d:\j2sdk1.4.2\bin

tomcat_home: d:\Tomcat 5.0

设好环境变量,把classes12.jar放到tomcat\common\lib 目录下;
回复
hawkcht 2004-08-12
这个不是很清楚,不好意思, 帮不了你了
回复
waling1979 2004-08-12
我是将,openOracle.java 和openOracle.class 两个文件考到
D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage 里,然后就出错了。各个路径和上面一样。大家再帮忙看看吧,多谢了
回复
waling1979 2004-08-12
简单的连接是搞定了,可是,是在JSP页面里连的数据库。先谢谢大家了!
可是,当我是在JSP里调用javabean(就是上面的openOracle.java)还是出错,错误和上面一样

我是用 javac openOracle.java 编译后生成了openOracle.class 然后将这个文件考到 D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage 里,然后就出错了。各个路径和上面一样。大家再帮忙看看吧,多谢了!
回复
qingqing82 2004-08-11
要下载oracle驱动的!具体到那下,我不太知道!
首先,你的*。class好象放的不对!
完整路径
D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage\openOracle.class
你的jsp文件的完整路径:
D:\tomcat\webapps\ROOT\connOracle.jsp

回复
waling1979 2004-08-11
帮帮忙啊
回复
waling1979 2004-08-11
hawkcht(hawo) 我照你说的做了,可还是不行

能不能说的详细点,你的环境变量(全部的)都是怎么配的?
装完tomcat 4.1后,又进行了哪些配置?最好是一步一步的讲。越详细越好(从头开始讲最好了),拜托了!我将不圣感激

我用的是oracle 8i 和 tomcat 4.1
加分没问题,可我得先把这该死的数据库连接问题解决啊,我急啊!!!

大家快帮帮我吧,我要疯掉了!
回复
eidolon_warrior 2004-08-11
不用
有个例子,不知道对你有没有用
--------------------------------------
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="oracle.jdbc.driver.*"%>
<%@ page import="java.net.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<html>
<body>
<%
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@159.226.3.113:1521:ora90","wrq","wrq");
Statement stmt=conn.createStatement();
String sql="select * from TEST";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%
}
out.print("数据库操作成功,恭喜你");
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("myconn():"+e.getMessage());
}
catch(java.sql.SQLException e)
{
System.out.println("conn():"+e.getMessage());
}
catch(Exception e)
{
System.out.println("Driver error!");
System.err.println(e.getMessage());
}
%>
</body>
</html>
回复
hawkcht 2004-08-11
这个问题我刚刚解决,你在oracle文件夹里搜索classes12.zip文件,改名为classes.jar后放到tomcat\common\lib目录下(如果不能改扩展名的话在文件夹选项里选上显示文件的扩展名再改),然后在你的系统变量classpash中添加d:tomcat5.0\common\lib(选择你自己的路径)。
一般情况下应该ok了,试试吧!
兄弟,给加点分,我要没分提问了,谢谢拉!!!
回复
waling1979 2004-08-11
放完后,还用不用重新指定环境变量呢?或是重新启动机器呢?
我用的是oracle 8i tomcat 4.1
回复
把classes12.jar放到tomcat\common\lib下
回复
Shires 2004-08-11
mark
回复
waling1979 2004-08-11
classes12.zip放到tomcat\common\lib下,还是不行啊,郁闷啊
回复
shaopin 2004-08-11
把classes12.zip放到tomcat\common\lib下,若tomcat是5.0将classes12.zip扩展名改为jar
回复
chendzcs 2004-08-11
我的环境变量设置:
.;C:\oracle\ora92\jdbc\lib\classes12.zip;D:\j2sdk1.4.2;d:\j2sdk1.4.2\lib\jxl.jar;d:\j2sdk1.4.2\lib
前面的“.”不能不要:)
你只要照我的设置改一下应该没有问题
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-11 12:20
社区公告
暂无公告