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