下面这个具体的例子
1)Error为什么不直接指出是DB Connection?
2)Stack为什么如此复杂?
Error!
com.ibatis.struts.BeanActionException 
Error dispatching bean action via URL pattern ('viewCategory'). Cause: java.lang.reflect.InvocationTargetException 
Stack
com.ibatis.struts.BeanActionException: Error dispatching bean action via URL pattern ('viewCategory').  Cause: java.lang.reflect.InvocationTargetException
Caused by: java.lang.reflect.InvocationTargetException
at com.ibatis.struts.BeanAction.execute(BeanAction.java:140)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.ibatis.struts.BeanAction.execute(BeanAction.java:138)
... 21 more
Caused by: com.ibatis.dao.client.DaoException: Error starting SQL Map transaction.  Cause: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.(SqlMapDaoTransaction.java:25)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransactionManager.startTransaction(SqlMapDaoTransactionManager.java:48)
at com.ibatis.dao.engine.impl.DaoContext.startTransaction(DaoContext.java:82)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:60)
at $Proxy4.getProductListByCategory(Unknown Source)
at com.ibatis.jpetstore.service.CatalogService.getProductListByCategory(CatalogService.java:60)
at com.ibatis.jpetstore.presentation.CatalogBean.viewCategory(CatalogBean.java:134)
... 26 more
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:473)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:200)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.(JdbcTransaction.java:26)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig.newTransaction(JdbcTransactionConfig.java:32)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:35)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.startTransaction(SqlMapExecutorDelegate.java:408)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.startTransaction(SqlMapSessionImpl.java:113)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.startTransaction(SqlMapClientImpl.java:87)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.(SqlMapDaoTransaction.java:22)
... 32 moreCaused by: 
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.ibatis.struts.BeanAction.execute(BeanAction.java:138)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.ibatis.dao.client.DaoException: Error starting SQL Map transaction.  Cause: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.(SqlMapDaoTransaction.java:25)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransactionManager.startTransaction(SqlMapDaoTransactionManager.java:48)
at com.ibatis.dao.engine.impl.DaoContext.startTransaction(DaoContext.java:82)
at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:60)
at $Proxy4.getProductListByCategory(Unknown Source)
at com.ibatis.jpetstore.service.CatalogService.getProductListByCategory(CatalogService.java:60)
at com.ibatis.jpetstore.presentation.CatalogBean.viewCategory(CatalogBean.java:134)
... 26 more
Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:473)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:200)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.(JdbcTransaction.java:26)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransactionConfig.newTransaction(JdbcTransactionConfig.java:32)
at com.ibatis.sqlmap.engine.transaction.TransactionManager.begin(TransactionManager.java:35)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.startTransaction(SqlMapExecutorDelegate.java:408)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.startTransaction(SqlMapSessionImpl.java:113)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.startTransaction(SqlMapClientImpl.java:87)
at com.ibatis.dao.engine.transaction.sqlmap.SqlMapDaoTransaction.(SqlMapDaoTransaction.java:22)
... 32 more

解决方案 »

  1.   

    1 LZ贴的不像一个ERROR的报错 而像是EXCEPTION的报错 ERROR 好像抛出的是java.lang.error
    Mary Campione在The Java Tutorial(Java指南)中所写的,“一个异常是在一个程序执行过程中出现的一个事件,它中断了正常指令的运行。”根据American Heritage Dictionary的解释,一个错误是“偏离了可接受的代码行为的一个动作或一个实例。”
    2 LZ用了ibatis SQL-OBJECT映射会用很多反射 所以调用也比较复杂 异常栈当然也会很复杂
      

  2.   

    Caused by: java.sql.SQLException: Io exception: The Network Adapter could not establish the connection这不是告诉你了吗, 由什么引起的
      

  3.   

    先用pl/sql之类的工具连接下ora看看能否连接上。然后再编码