信息: Illegal access: this web application instance has been stopped already. Could not load java.net.BindException. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1244)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at com.mysql.jdbc.CommunicationsException.<init>(CommunicationsException.java:155)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2723)
解決辦法:
將tomcat的server.xml中的Context的reloadable設成false。
比如:<Context path="/expert" docBase="expert" debug="0" reloadable="false">
解決辦法也容易,只要把tomcat的server.xml 中的reloadable="true" 改成false就行了,不過這樣做就失去了熱部署的優勢了,對于開發不是很方便,干脆還是不改吧。這種錯誤不用理會.
報錯原理:
原因是因為在tomcat重啟的時候,因為之前的tomcat中的線程還沒有完全關閉,新啟動tomcat就會報這個異常,不過這個不影響正常使用,只是跳個異常挺煩人的。使用過hibernate, spring或其他大型組件,當一個WEB應用系統中有很多類時,如果開啟了Tomcat的reloadable=true,那么每當相關文件改變時, Tomcat會停止web app并釋放內存,然后重新加載web app.這實在是個浩大的工程。所以我們總是在想如果能有只重載某幾個類的功能,將極大的滿足了我們的調試。
當response.sendRedirect("xxxx"); 時,而客戶端關閉了瀏覽器,就會出這種錯.
并非程序錯誤.
引自:http://blog.csdn.net/m232341339/archive/2008/11/01/3201104.aspx