仿百度贴吧项目实战错误分析


项目开发错误分析

这个错误是我在项目开发中遇到的次数最多的一个bug

org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting foridle object

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104)

    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)

    at cn.csdn.clb.changliaoba.util.JdbcUtil.getConn(JdbcUtil.java:32)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountRecord(ManagerDaoImpl.java:222)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountRecord(ManagerServiceImpl.java:53)

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:33)

 

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

 

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)

Caused by: java.util.NoSuchElementException: Timeout waiting for idle object

    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:825)

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)

    ... 23 more

org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting foridle object

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:104)

    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)

    at cn.csdn.clb.changliaoba.util.JdbcUtil.getConn(JdbcUtil.java:32)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountRecord(ManagerDaoImpl.java:222)

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountPage(ManagerDaoImpl.java:237)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountPage(ManagerServiceImpl.java:59)

 

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:35)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

 

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)

Caused by: java.util.NoSuchElementException: Timeout waiting for idle object

    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:825)

    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)

    ... 24 more

2011-12-1 11:08:35org.apache.catalina.core.StandardWrapperValve invoke

严重:Servlet.service() for servlet [ManagerListServlet] in context with path [/CLB]threw exception

java.lang.NullPointerException

    at cn.csdn.clb.changliaoba.dao.ManagerDaoImpl.findCountPage(ManagerDaoImpl.java:238)

    at cn.csdn.clb.changliaoba.service.ManagerServiceImpl.findCountPage(ManagerServiceImpl.java:59)

    at cn.csdn.clb.changliaoba.servlet.ManagerListServlet.doGet(ManagerListServlet.java:35)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)

    atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)

    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1824)

    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

    at java.lang.Thread.run(Thread.java:662)

连接池被占满了,解决这个问题可以增加连接池连接个数,但如果程序有问题,没有释放连接,那你增加多少最终还是会有这错。发现在释放资源的时候没有释放connection对象。

 

插入错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'changliaoba.book' doesn't exist

         atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

         atsun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

         atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

         atjava.lang.reflect.Constructor.newInstance(Unknown Source)

         atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)

         atcom.mysql.jdbc.Util.getInstance(Util.java:386)

         atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)

         atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)

         atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)

         atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)

         atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)

         atcom.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)

         atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)

         atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)

         atorg.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

         atcn.csdn.clb.changliaoba.dao.ManagerDaoImpl.regeister(ManagerDaoImpl.java:37)

         atcn.csdn.clb.changliaoba.junit.ManagerTest.register(ManagerTest.java:22)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

插入失败

Table 'changliaoba.book' doesn't exist

把changliaoba改成manager

 

 

 

 

 

 

 

java.lang.NullPointerException

         atcn.csdn.clb.changliaoba.dao.TieziDaoImpl.findById(TieziDaoImpl.java:165)

         atcn.csdn.clb.changliaoba.service.TieziServiceImpl.findById(TieziServiceImpl.java:34)

         atcn.csdn.clb.changliaoba.junit.TieziTest.findById(TieziTest.java:38)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

java.lang.NullPointerException

         atcn.csdn.clb.changliaoba.dao.TieziDaoImpl.findAll(TieziDaoImpl.java:125)

         atcn.csdn.clb.changliaoba.service.TieziServiceImpl.findAll(TieziServiceImpl.java:28)

         atcn.csdn.clb.changliaoba.junit.TieziTest.findAll(TieziTest.java:50)

         atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

         atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

         atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

         atjava.lang.reflect.Method.invoke(Unknown Source)

         atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

         atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

         atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

         atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

         atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

         atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

         atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

         atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

         atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

         atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

         atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

         atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

         atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

         atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

记录更新失败

获取连接对象

conn = pstmt.getConnection();  改成   conn = JdbcUtil.getConn();

 

这个错误是数据库连接错误相信很多同学在插入向数据库中插入错误时,都会或多或少的出现这个问题,其实出现这个错误并不意味着你代码写的有问题,而是在你向这个表中插入数据时,外键关联的表中没有数据,所以解决方法很简单就是现在关联表中插入数据。

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Cannot add or update a child row: a foreign key constraint fails(`changliaoba`.`baruser`, CONSTRAINT `baruser_ibfk_1` FOREIGN KEY (`barid`)REFERENCES `bar` (`id`))

    atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    atsun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

    atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

    at java.lang.reflect.Constructor.newInstance(UnknownSource)

    atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)

    atcom.mysql.jdbc.Util.getInstance(Util.java:386)

    atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)

    atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)

    atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)

    atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2625)

    atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2333)

    atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2318)

    atorg.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

    atcn.csdn.clb.changliaoba.dao.BarUserDaoImpl.insert(BarUserDaoImpl.java:38)

    atcn.csdn.clb.changliaoba.service.BarUserServiceImpl.insert(BarUserServiceImpl.java:15)

    atcn.csdn.clb.changliaoba.junit.BarUserTest.insert(BarUserTest.java:26)

    atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(UnknownSource)

    atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

    atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

    atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

    atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

    atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

    atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

    atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

    atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

    atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

    atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

    atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

 

空指针问题是最我们组在项目开发中经常遇到的问题,如下我们就出现了这种很简单的小问题,解决这种小问题就需要我们认真仔细的检查一下是不是拼写错误,因为拼写错误导致空指针的几率是最大的。

 

 

java.lang.NullPointerException

    at cn.csdn.clb.changliaoba.junit.BarUserTest.findById(BarUserTest.java:38)

    atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    atsun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

    atsun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

    at java.lang.reflect.Method.invoke(UnknownSource)

    atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

    atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

    atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)

    atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)

    atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

    atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

    atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

    atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

    atorg.junit.runners.ParentRunner.run(ParentRunner.java:236)

    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)

    atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

    atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

 

下面这种错误,如果你在启动tomcat未完成时,就又重启了,就很容易造成这种问题了,所以很简单重新启动一下tomcat吧~

Èý

¾¯¸æ:Error during context [/CLB] restart

org.apache.catalina.LifecycleException:Failed to start component[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/CLB]]

    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152)

    atorg.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1279)

    atorg.apache.catalina.startup.HostConfig.check(HostConfig.java:1367)

    atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:294)

    atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

    atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

    atorg.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1242)

    atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1400)

    atorg.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1410)

    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1389)

    at java.lang.Thread.run(Thread.java:662)

Causedby: java.lang.NoClassDefFoundError: javax/faces/webapp/FacesServlet

    atcom.sun.faces.config.FacesInitializer.<clinit>(FacesInitializer.java:103)

    at java.lang.Class.forName0(Native Method)

    at java.lang.Class.forName(Class.java:247)

    atorg.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1543)

    at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1466)

    atorg.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1285)

    atorg.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:896)

    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:322)

    atorg.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

    atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

    atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5103)

    atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:148)

    ... 10 more

Causedby: java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

    atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)

    atorg.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)

    ... 22 more

j

 

错误比较简单,仅供初学者参考。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
用户名,Email地址,昵称 ajax无刷新验证是否已注册 非空验证 用户名验证:由英文字母和数字组成的4-16位字符,以字母开头! 邮箱验证:Email格式不正确,例如web@sohu.com 昵称验证:由汉字组成的2-8位字符! 密码验证:密码不能含有非法字符,长度在4-10之间 再次输入密码验证:两次输入密码不一致! 注册成功后用户直接保存在session里进入登录页面 搜索框实现智能联想(根据关键字联想贴吧名搜索) 登录成功用户保存在session中显示用户昵称 登录失败显示(登录失败!请重新) 注销可以销毁session中的用户对象 横条广告用flash制作替换效果 个人中心显示用户头像及昵称 奇吧朵朵展示留个贴吧信息(滚动文字) 最新话题展示最新发帖标题并可点击进入 常逛贴吧由用户登录后显示 贴吧分类显示不同类型贴吧鼠标移动上去展示贴吧名 热帖分类展示四个贴吧四条回复 热帖排行榜显示回复最多三个帖子 顶部展示贴吧名称,会员数,帖子数,以及帖吧简介 帖子显示回复次数,标题,内容25字符发帖昵称以及发帖时间 签到按钮可以判断是否登录,签到成功次数加一,提示以签到 显示用户头像和昵称 恢复按钮AJAX判断是否登录,登录后方可发帖 右侧游戏动态加载 翻页可实现看第一页,向前和向后翻页 顶部显示广告,帖子标题 只看楼主可实现只看楼主发表内容,取消只看楼主查看全部回复 显示回复用户头像和昵称,回复内容签名档,楼层,发表时间 关注AJAX判断用户是否已登录,关注成功次数加一,已关注提示 鼠标移动到用户头像可查看用户信息 实现翻页功能 回复条数,返回当前贴吧 回复按钮AJAX判断是否已登录,登陆后方可发帖 我的帖子显示吧名,标题,回复次数,发帖时间,删除提示,删除失败提示 我关注的帖吧显示把名,标题,回复次数,发帖时间,删除提示,删除失败提示
解决了之前因为程序代码问题造成的不能建吧的问题 解决了单吧版有参数的问题,更有利于搜索 解决了之前的一系列细节问题 减小了程序占用的空间,不到800K 此为本贴吧程序GB2312编码的最终版本,后续版本将使用utf-8编码(不影响后续升级) ----------------第三版更新记录-------------- 开发出功能完善的手机版,并且拥有全部的管理功能,可以手机管理帖子 (演示http://tieba123.com/m/) 系统设置使用缓存,减少数据库读取次数,有效提高了速度 后台管理进行了优化,能够批量删除主题和回复 后台广告管理进行了分离,更方便设置广告 添加了wap访问页面随贴广告 修正其他一些问题 ----------------第二版更新记录-------------- 解决了由于容错代码所掩盖的系统错误,修改三十多个文件,速度和效率上有了质的提高。 解决了不能建吧的错误 帖子列表和帖子浏览页面用div进行了小范围的调整,右侧的广告已经不能影响速度 在速度上有了进一步的提高 去掉了前台操作的弹出对话框提示 增加了利用404错误页面进行跳转的功能(在国外主机上受限) 修复了后台管理中批量删除隐藏帖子的错误 修复了后台因为权限设置导致的漏洞 修改了js调用 解决了前台管理员编辑帖子不能自动保留的问题 解决了英文字符造成内容页撑开的问题 解决了在二级目录下出现的不能访问数据库的问题 解决了后台分类添加出现的错误 解决了js调用文件出现“缺少十六进制”的错误提示 贴吧排行和最新帖子去掉了分页 修改了后台贴吧分类管理 (重要) 增加了后台帖子搜索 修复了编辑帖子的错误 修复了表情显示的问题,在非ubb状态下,依然能正常使用表情 ------------- 功能 -------------------- 在原有功能基础上,在人性化管理和设置的方面,增加了不少功能,修改了不少细节。 1 只有管理人员才能看到管理项目,前台不能删除帖子,只能屏蔽,保证信息不会损失。 2 增加了对国外服务器的支持,不再出现乱码。 3 显示时间使用统一的格式,不再受服务器影响。 4 修改了原来的登录和退出弹出新窗口的问题。 5 增加新帖审核功能,开启后所有内容不审核不能显示,吧主和管理员可以审核帖子。 6 重新调整后台,增加了一些细节设置的项目,同时调整了后台显示的结构。 7 调整了验证码设置 8 增加多个广告位,如顶部,顶部右侧,底部,列表右侧,帖子上部和右侧,同时随贴也有广告位 9 增加了“单帖吧版”,可以通过简单设置,做成留言本形式 10 增加了“同名跳转”功能,可以设置贴吧跳转到同名的贴吧 11 改进了举报功能,可以举报帖子和贴吧 12 前台管理功能增强了,模仿知名贴吧系统对吧主管理操作进行了改进 13 前台界面进行了调整,避免了帖子列表和内容页出现卡死现象 14 调整了会员状态条位置 15 重新进行了安全检测和修改 16 增加了帖子列表和内容页右侧的边栏,可以放广告或其他内容 17 去掉了专门的贴图和帮助部分,用单独的帖子来代替 18 调整了帖子的浏览方式,加快了显示速度 19 增加了ctul+enter发布帖子 20 修改了一些不合适的文件名 21 改变了密码的加密方式,相对安全一点,还有调整的余地 22 修改了编辑器 23 修复了一些细节方面的问题 ------------------------- 用户名 admin 密码 admin --------- 安装方法------------- 1 修改data目录下的tieba123.mdb 可以改得复杂点 2 修改conn.asp里面的tieb123.mdb 和第一条对应 3 上传到合适的路径 4 开始使用 注意:不少朋友发现数据库连接错误,主要原因如下 conn.asp里面,大约第四行 datastr1="/" '当前站点目录,如果在根目录请用"/",如果在abc目录请用 "/abc/" 请根据情况修改datastr1的参数,如果此程序放在根目录,请不要改动,如果放在其他目录,请根据实际情况改动。 ---------- 升级方法 -------- 先备份数据,除conn.asp和data文件夹外,覆盖全部文件 -------------- 安全提示---------- 请一定修改数据库文件tieba123.mdb的名字 可以修改 admin文件夹 如果忘记密码,可以用将tools/admin.asp复制到网站根目录,访问此文件 来重新设置密码
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值