Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3328016
  • 博文数量: 530
  • 博客积分: 13360
  • 博客等级: 上将
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-13 13:32
文章分类

全部博文(530)

文章存档

2017年(1)

2015年(2)

2013年(24)

2012年(20)

2011年(97)

2010年(240)

2009年(117)

2008年(12)

2007年(8)

2006年(9)

分类:

2009-11-03 11:18:23

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);


阅读(1677) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~