Java web工程数据库错误配置
错误详情:
HTTP Status 500 - java.lang.reflect.InvocationTargetException
type Exception report
message java.lang.reflect.InvocationTargetException
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
cn.itcast.servlet.BaseServlet.service(BaseServlet.java:60)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
cn.itcast.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
root cause
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
cn.itcast.servlet.BaseServlet.service(BaseServlet.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
cn.itcast.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
root cause
java.lang.RuntimeException: java.sql.SQLException: Connections could not be acquired from the underlying database!
cn.itcast.goods.user.service.UserService.login(UserService.java:62)
cn.itcast.goods.user.web.servlet.UserServlet.login(UserServlet.java:332)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
cn.itcast.servlet.BaseServlet.service(BaseServlet.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
cn.itcast.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
root cause
java.sql.SQLException: Connections could not be acquired from the underlying database!
com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:615)
com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
cn.itcast.jdbc.JdbcUtils.getConnection(JdbcUtils.java:43)
cn.itcast.jdbc.TxQueryRunner.query(TxQueryRunner.java:22)
cn.itcast.goods.user.dao.UserDao.findByLoginnameAndLoginpass(UserDao.java:53)
cn.itcast.goods.user.service.UserService.login(UserService.java:60)
cn.itcast.goods.user.web.servlet.UserServlet.login(UserServlet.java:332)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
cn.itcast.servlet.BaseServlet.service(BaseServlet.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
cn.itcast.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
root cause
com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1406)
com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:594)
com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:514)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:681)
com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:608)
com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
cn.itcast.jdbc.JdbcUtils.getConnection(JdbcUtils.java:43)
cn.itcast.jdbc.TxQueryRunner.query(TxQueryRunner.java:22)
cn.itcast.goods.user.dao.UserDao.findByLoginnameAndLoginpass(UserDao.java:53)
cn.itcast.goods.user.service.UserService.login(UserService.java:60)
cn.itcast.goods.user.web.servlet.UserServlet.login(UserServlet.java:332)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
cn.itcast.servlet.BaseServlet.service(BaseServlet.java:44)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
cn.itcast.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.
Apache Tomcat/7.0.42
解决方案:
网上解决方案:
异常:java.lang.reflect.InvocationTargetException
HTTP Status 500-java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException 异常(Json转化时抛出)
网上也有诸多的解决方案,这里仅作为补充:
web项目牵涉几多,所谓牵一发而电动全身,我这里补充一下我所遇到的错误是由于导入项目没有更改对应的数据库设置而导致的,即对应自己数据库的用户名和密码正确设置