在tomcat中设置数据源时jdbc驱动存放的位置
2007-07-29 15:46
393 查看
在tomcat6.0中设置jdbc数据源时,jdbc驱动要放在TOMCAT_HOME/lib目录下,绝不能放在web-inf/lib/下面:否则tomcat就会报错说找不到驱动。
猜想原因可能如下:
tomcat与java一样也是按照委托代理加载模型来实现类加载的。当某个类加载器要加载某个类的时候,它自己先不加载,而是把这个请求先交给他的父类加载器,并且把请求逐级上传。当某个类加载器的所有父类加载器都找不到请求的类的时候,这个类自己才去寻找并加载所要的类或资源。
由此我们可到当要加载一个类时,总是Bootstrap先来加载,然后再才是System,接着是common来加载。
Bootstrap
|
System
|
Common
/ /
Webapp1 Webapp2 ...
从这个类加载模型里我们还可以看到一点父类加载器是不能加载子类加载器范围内的类的。
tomcat的数据源里面用来加载jdbc驱动的是org.apache.tomcat.dbcp.dbcp.BasicDataSource。而这个类
是放在TOMCAT_HOME/lib目录下,因此如果jdbc放在了web-inf/lib/目录下就会找不到jdbc驱动了。
猜想原因可能如下:
tomcat与java一样也是按照委托代理加载模型来实现类加载的。当某个类加载器要加载某个类的时候,它自己先不加载,而是把这个请求先交给他的父类加载器,并且把请求逐级上传。当某个类加载器的所有父类加载器都找不到请求的类的时候,这个类自己才去寻找并加载所要的类或资源。
由此我们可到当要加载一个类时,总是Bootstrap先来加载,然后再才是System,接着是common来加载。
Bootstrap
|
System
|
Common
/ /
Webapp1 Webapp2 ...
从这个类加载模型里我们还可以看到一点父类加载器是不能加载子类加载器范围内的类的。
tomcat的数据源里面用来加载jdbc驱动的是org.apache.tomcat.dbcp.dbcp.BasicDataSource。而这个类
是放在TOMCAT_HOME/lib目录下,因此如果jdbc放在了web-inf/lib/目录下就会找不到jdbc驱动了。
相关文章推荐
- Java数据库接口JDBC基础教程之驱动设置
- tomcat6 数据源设置
- 一个保存数据的方法(可以切换存放的位置,可以设置密钥)
- JDBC系列教程(二)---驱动设置
- tomcat中设置数据源
- 如何备份和恢复Windows IIS服务器设置及文件存放位置
- 在Tomcat 5.5.4中配置JDBC数据源
- tomcat 5.5 Cannot create JDBC driver of class '' for connect URL 'null' 配置数据源错误解决办法
- JDBC :设置工作空间的编码与导入驱动jar包
- 在 Tomcat 中设置 JDBCRealm
- tomcat配置jdbc数据源几个要点
- 详解Log4j 日志文件存放位置设置
- 配置JAVA+Tomcat+MySQL+JDBC驱动
- JDBC基础教程之驱动设置
- tomcat根目录设置 work文件夹位置 temp 文件夹位置
- SpringBoot学习——静态文件存放位置设置
- mssql2000 jdbc驱动设置
- Tomcat编译jsp生成Servlet文件的存放位置
- Java环境变量和Sql Server 2000 JDBC驱动变量设置
- Tomcat 6 通过 JDBC 连接池连接 SQL Server 2000 和 MySQL 5 的设置