tomcat6使用DBCP和blob出现ClassCastException解决方法

1.ClassCastException异常
   当发现有二个相同的类库时,由于无法判定该调用哪个,抛出该异常
   当对象强制转换出错时,会抛出该异常

2.tomcat6下使用DBCP时jar包重复问题
   (1)tomcat6自带了一个DBCP连接池,在tomcat6\lib\tomcat-dbcp.jar,这个jar包对commons- pool.jar和commons-dbcp.jar进行了封装,开发人员千万不要再将这commons-pool.jar和commons- dbcp.jar复制到tomcat6\lib目录下。
   (2)将数据库驱动复制到tomcat6\lib目录下
      比如:我用的是oracle9i数据库,则将class12.jar复制到tomcat6\lib目录下
   (3)我们一般使用myeclipse进行自动布署到webapps目录下,由于在开发时,WEB项目必须导入classes12.jar和 tomcat-dbcp.jar,当自动布署时,myeclipse会自动将这二个jar包也复制到你的WEB项目的WEB-INF\lib目录下。由于 这二个jar包在tomcat6\lib中已存在,则运行WEB项目时,就会出现“当发现有二个相同的类库时,由于无法判定该调用哪个,抛出 ClassCastException异常”。
   解决方法:
      等myeclipse布署后,手工到tomcat6\webapps\WEB-INF\lib目录删除classes12.jar和tomcat-dbcp.jar。

3.tomcat6下使用DBCP和blob出现ClassCastException解决方法
  (1)在javabean中调用blob
     如果不使用DBCP,写法
           oracle.sql.BLOB blob=(oracle.sql.BLOB)rs.getBlob(1);
     如果使用DBCP,写法
           java.sql.Blob blob =  rs.getBlob(1);        
  (2)在jsp中调用调用blob
     如果不使用DBCP,写法
           oracle.sql.BLOB blob=(oracle.sql.BLOB)rs.getBlob(1);
     如果使用DBCP,写法
           oracle.sql.BLOB blob = (oracle.sql.BLOB) ((org.apache.tomcat.dbcp.dbcp.DelegatingResultSet)rs).getBlob(1);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值