• Eclipse开发时出现HTTP 403 错误(禁止访问)的解决方法


    1. 打开项目的页面如下:

    可以从tomcat log中发现Connection has been abandoned PooledConnectionToo many connections

    2017-08-03 18:28:48.022  WARN 6396 --- [o-8080-exec-170] o.a.tomcat.jdbc.pool.ConnectionPool      : Connection has been abandoned PooledConnection[com.mysql.jdbc.JDBC4Connection@af6bbd]:java.lang.Exception
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.getThreadDump(ConnectionPool.java:1065)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:707)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
    	......
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:745)
    
    2017-08-03 18:28:48 ERROR [com.xxx.yyy.a.b] -- <Too many connections>
    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections
    	at sun.reflect.GeneratedConstructorAccessor295.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    	at com.mysql.jdbc.Util.getInstance(Util.java:384)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:920)
    	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4000)
    	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1285)
    	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2186)
    	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:787)
    	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
    	at sun.reflect.GeneratedConstructorAccessor288.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:357)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
    	at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:278)
    	at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)
    	at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
    	at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127)
    	......
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:521)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:745)
    

    2. 解决方案

    重启一下Tomcat或者Eclipse都OK,重新跑一下项目即可(Ctrl+Alt+D)。引起这个问题得主要原因是修改代码保存时Eclipse会自动重新编译代码,而此时你又修改代码再保存,就很容易出现这个HTTP 403错误。 

  • 相关阅读:
    Ant Design of Vue 表格动态改变复选框的disabled
    django ES的基本使用
    关于feign调用出现404的问题
    odoo xmlrpc,webservice 使用postman 测试
    安卓socks使用工具
    odoo 中的_register_hook,_patch_method
    微信小程序picker组件渲染对象数组
    Spark系列 (1) Spark基础
    Vue.js 3.x 优化概览
    C#IIS上传文件大小设置问题:maxRequestLength、maxAllowedContentLength
  • 原文地址:https://www.cnblogs.com/fanbi/p/7281304.html
Copyright © 2020-2023  润新知