最奇怪的问题:我的jsp联不了oracle!------请大家看看

笑天狂客 2003-09-24 03:30:52
我在redhat8上安装了oracle8.1.7,我写了个java程序测试与数据库的连接,成功。
可是,我在tomcat里面用jsp测试,jsp怎么样都找不到驱动包,报这个错:package oracle.jdbc.driver does not exist。 classpath里面我加了oracle驱动包。请问是为什么?
...全文
86 点赞 收藏 22
写回复
22 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
笑天狂客 2003-09-26
jtzwm(只爱一点点) 老兄,你的说法有点不对哦,tomcat不会只认.jar的,.zip它也认的.
驱动程序包的问题我已解决,方法我也贴了出来,你看看楼上我的帖子,算是我的一点心得吧

现在的问题主要是:
我的java程序可以连结oracle,为什么jsp就联不上呢?报这个错
org.apache.jasper.JasperException: oracle/security/o3logon/O3LoginClientHelper

非常谢谢各位同仁的大力支持!请再接再励.
回复
devilmoon_xp 2003-09-26
up
回复
jtzwm 2003-09-26
ORACLE安装后,驱动在classes12.zip文件中,

可是tomcat只认.jar的。

你把classes12.zip改为classes12.jar,然后放到WEB-INF/lib下,

或者上面说的tomcat/common下试试。
回复
笑天狂客 2003-09-26
我的java程序可以连结oracle,为什么jsp就联不上呢?报这个错
org.apache.jasper.JasperException: oracle/security/o3logon/O3LoginClientHelper

谁能搞定?
回复
zcjl 2003-09-25
我当然也试着把他们放在tomcat\common\lib下了,而且还把包解开,重新打成.jar。这三种形式我都放在tomcat\common\lib里面了。还不行,所以我很奇怪怎么会找不到驱动包呢?如果,我放的位置不对,那么我的mysql驱动怎么可以找到呢?
---------------------------------------------------

你是说你曾经尝试过把class12.jar放到tomcat\common\lib下,但还是会报package oracle.jdbc.driver does not exist的错误?
那我就不懂了,也许是还有其他问题吧
回复
笑天狂客 2003-09-25
我当然也试着把他们放在tomcat\common\lib下了,而且还把包解开,重新打成.jar。这三种形式我都放在tomcat\common\lib里面了。还不行,所以我很奇怪怎么会找不到驱动包呢?如果,我放的位置不对,那么我的mysql驱动怎么可以找到呢?

所以,zcjl(莫等闲,白了少年头) ,你这种说法不对呀。。。
回复
笑天狂客 2003-09-25
那位高手帮我?
回复
笑天狂客 2003-09-25
用不到import吧?你不会说java.sql.*吧?

办法我已经找到,就是在tomcat里面设置,把oracle包加到tomcat/bin中的setclasspath中就可以找到了
非常感谢各位朋友的帮助!
旧的问题解决了,新的又诞生了,我在找到驱动包之后,jsp又报了这个错:
org.apache.jasper.JasperException: oracle/security/o3logon/O3LoginClientHelper
我又蒙了,难道jsp联结oracle就这么难么?java为什么就很好连?
回复
blue999star 2003-09-25
回复
blue999star 2003-09-25
你不会在没有 import 吧.
回复
clare0peng 2003-09-25
用這種方法試試,我上次遇到這個問題,在國外的一個論壇上面看到的這種方法,我想你會成功的:
String driver="oracle.jdbc.driver.OracleDriver";
String user="scott";
String pwd="tiger";
String url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)(SERVER=DEDICATED)))";

try {Class.forName(driver);
}
catch (Exception ex2)
{
out.print(ex2);
}
try {con=DriverManager.getConnection(url,user,pwd);
stmt=con.createStatement();
........................
.......................
}
回复
笑天狂客 2003-09-25
没人可以解决这个问题么?
回复
zcjl 2003-09-24
java程序能够联通,证明驱动程序的设置是没有问题的

话虽不错,不过tomcat和jdk用的不是同一个classpath啊
所以要jsp能正确找到驱动所在,还得手动将其放到tomcat\common\lib下,或是你自己web项目的WEB-INF\lib下
回复
笑天狂客 2003-09-24
各位老大阿,在用jsp测试之前,我用java程序测试过的,能够联通,而且可以查询。但是很奇怪的是jsp中联不通。java程序能够联通,证明驱动程序的设置是没有问题的,我猜想tomcat在redhat里面是不是有特别的设置。所以,我使用mysql来测试,可以联通。

想破脑袋,也没想通阿,救我!高手们。
回复
007james 2003-09-24
没有安装驱动,另外参考:
jsp连接Oracle8/8i/9i数据库(用thin模式)
testoracle.jsp如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<body>
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="scott";
String password="tiger";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from test";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%>
您的第一个字段内容为:<%=rs.getString(1)%>
您的第二个字段内容为:<%=rs.getString(2)%>
<%}%>
<%out.print("数据库操作成功,恭喜你");%>
<%rs.close();
stmt.close();
conn.close();
%>
</body>
</html>
回复
squallzeng 2003-09-24
把你的JDBC驱动考到tomcat的common/lib下
回复
zcjl 2003-09-24
把classes11.jar和classes12.jar复制到tomcat\common\lib下,或是你自己web项目的WEB-INF\lib下
回复
shipp 2003-09-24
UP
回复
Geranium 2003-09-24
同意jackal81的意见~classpath里的数据库驱动的路径必须是绝对路径~
回复
晃晃悠悠_HW 2003-09-24
up
回复
加载更多回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-09-24 03:30
社区公告
暂无公告