通过 bin 下的startup.bat 成功 启动
————————————————————
信息: validateJarFile(F:\Tomcat 5.0\webapps\epvision3.5\WEB-INF\lib\servlet-a
jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class:
ax/servlet/Servlet.class
Working?...
OK
工作流引擎正在初始化 ...
初始化xpdl
初始化xpdl结束
not support initialized time limit
工作流引擎初始化完成, 共耗时 2 [s]
2009-10-21 15:42:35 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path from URL file:F:\Tomcat 5.0
bapps\ROOT通过 myeclipse 启动
————————————————————
信息: Processing Context configuration file URL file:F:\Tomcat 5.0\conf\Catalina\localhost\epvision3.5.xml
2009-10-21 15:40:57 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(F:\Tomcat 5.0\webapps\epvision3.5\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:DIHUA'
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at org.loushang.commons.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:137)
at org.loushang.commons.jdbc.db.adapter.DbAdapterFactory.getDBAdapter(DbAdapterFactory.java:91)
at org.loushang.commons.jdbc.core.JdbcTemplate.afterPropertiesSet(JdbcTemplate.java:228)
at org.loushang.util.domain.BaseJdbcDao.afterPropertiesSet(BaseJdbcDao.java:98)
at org.springframework.beans.factory.support.AbstractBeanFactory.callLifecycleMethodsIfNecessary(AbstractBeanFactory.java:1023)
at org.springframework.beans.factory.support.AbstractBeanFactory.createBean(AbstractBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:218)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveReference(AbstractBeanFactory.java:948)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveValueIfNecessary(AbstractBeanFactory.java:921)
at org.springframework.beans.factory.s
————————————————————
信息: validateJarFile(F:\Tomcat 5.0\webapps\epvision3.5\WEB-INF\lib\servlet-a
jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class:
ax/servlet/Servlet.class
Working?...
OK
工作流引擎正在初始化 ...
初始化xpdl
初始化xpdl结束
not support initialized time limit
工作流引擎初始化完成, 共耗时 2 [s]
2009-10-21 15:42:35 org.apache.catalina.core.StandardHostDeployer install
信息: Installing web application at context path from URL file:F:\Tomcat 5.0
bapps\ROOT通过 myeclipse 启动
————————————————————
信息: Processing Context configuration file URL file:F:\Tomcat 5.0\conf\Catalina\localhost\epvision3.5.xml
2009-10-21 15:40:57 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(F:\Tomcat 5.0\webapps\epvision3.5\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:DIHUA'
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:243)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
at org.loushang.commons.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:137)
at org.loushang.commons.jdbc.db.adapter.DbAdapterFactory.getDBAdapter(DbAdapterFactory.java:91)
at org.loushang.commons.jdbc.core.JdbcTemplate.afterPropertiesSet(JdbcTemplate.java:228)
at org.loushang.util.domain.BaseJdbcDao.afterPropertiesSet(BaseJdbcDao.java:98)
at org.springframework.beans.factory.support.AbstractBeanFactory.callLifecycleMethodsIfNecessary(AbstractBeanFactory.java:1023)
at org.springframework.beans.factory.support.AbstractBeanFactory.createBean(AbstractBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:218)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveReference(AbstractBeanFactory.java:948)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveValueIfNecessary(AbstractBeanFactory.java:921)
at org.springframework.beans.factory.s
解决方案 »
- 如何把四个HashMap对象中数据转存到一个HashMap对象中
- ---------------->求站内短消息思路(不是手机短信)
- 怎样练就java ee 高手!为后人指路
- beans+Hashtable 的问题.谢谢!
- js在jsp中的应用《窗口》没分了,请多多关照
- 新手求教在此程序插入记录前加一查询条件!在线等待!
- 根本解决Tomcat中的中文问题!
- 如何实现JSP从Access数据库中提取其中的数据?
- 这是我写的一个验证用户是否存在的问题,请帮我看看
- Jquery弹出层插件layer
- 当页面刷新时,数据自增问题 很急 那位大哥给解决一下 分不够可以加
- struts2中iterator 元素的绝对值和百分比问题
连接不对 或者 驱动找不到
看看是不是驱动没加到build path里
通过 myeclipse 启动 报错
项目已经部署到tomcat了
看着改改吧
用ant发布到tomcat都是可以用的~~
a. 两个web app的话,在第一个使用Connection很正常,但是在第二个web app中使用的话就会有异常
b. 一个web app被tomcat重新装载后异常信息为:
Cannot create JDBC driver of class 'COM.ibm.db2.jdbc.app.DB2Driver' for connect URL 'jdbc:db2:xxx'.
Caused by: java.sql.SQLException: No suitable driver原因,
a. 不论是直接获取,还是通过DataSource来获取数据库连接,首次获取物理连接的方式是首先通过Class.forName(),接着通过DriverManager.getConnection()或者.getDriver()
b. Class.forName()是使用当前class的ClassLoader来装载COM.ibm.db2.jdbc.app.DB2Driver这个类,DB2Driver在静态初始化的时候会创建一个DB2Driver实例
DB2Driver在实例化时发现如果db2jdbc.dll被其他ClassLoader装载,就会抛出java.lang.UnsatisfiedLinkError: Native Library C:\Program Files\SQLLIB\bin\db2jdbc.dll already loaded in another classloader,
这是最主要的错误原因,导致该DB2Driver不能注册到DriverManager中。DB2Driver不会抛出这个异常,而只是在DriverManager中打印出来,console中是看不到的。
更重要的是,虽然DB2Driver被Web ClassLoader装载到JVM中,但是并没有注册到DriverManager,所以DriverManager只有一个DB2Driver,就是第一个WebClassLoader装载的Driver。
c. 在DriverManager的Connection getConnection(String url, java.util.Properties info, ClassLoader callerCL)方法和Driver getDriver(String url)方法中,
DriverManager要保证已经注册的driver的ClassLoader和当前调用这个两个方法的ClassLoader一致,否则抛出SQLException "No suitable driver"。
(两个方法都是调用DriverManager的native方法ClassLoader getCallerClassLoader()获取调用者的ClassLoader,第一个方法的入参callerCL如果是null,则使用Thread.currentThread().getContextClassLoader().
DriverManager是由Bootstrap ClassLoader装载,所以在tomcat进程中是singleton。) 所以,同样的情况适用于所有的Application Server,而非只Tomcat。
解决方法:
将jdbc驱动包放在%CATALINA_HOME%/common/lib中,使得该驱动不会在各个web app共存,而是分享。(因为Tomcat的Common ClassLoader是会被各个web app分享的,详见tomcat文档) 要注意的问题:
a. 由于DriverManager在tomcat中是singleton,它保存了各个Driver,包括其class和ClassLoader。这样的话,当web app重启时,DriverManager并不会deRegister相关的Driver,
从而导致内存泄漏。当ClassLoader装载的Class足够多时,泄漏的内存会比较大。一个简单的解决方案是把Driver的jar包都放在%CATALINA_HOME%/common/lib下
新建个Tomcat user library 把%CATALINA_HOME%/common/lib的jar 放进去