加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

JAVA-Web错误之“HTTP Status 500 - Servlet execution threw an&

(2015-11-30 19:49:54)
分类: JavaWeb

具体报错如下:

HTTP Status 500 - Servlet execution threw an exception

type Exception report

message Servlet execution threw an exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
        org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:913)
        org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:226)
        org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:302)
        org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2208)
        org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2191)
        org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1945)
        org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)
        Dao.DBConnectionFromPool.(DBConnectionFromPool.java:16)
        Dao.DBConnectionFromPool.(DBConnectionFromPool.java:10)
        Dao.JdbcTools.getConnectionFromPool(JdbcTools.java:16)
        Dao.UserDao.(UserDao.java:16)
        Servlet.RegServlet.doPost(RegServlet.java:36)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.21 logs.


Apache Tomcat/8.0.21


出现错误场景:
http://s12/mw690/001V9sD8gy6XpwaCWNR2b&690Status 500 Servlet execution threw an&" TITLE="JAVA-Web错误之“HTTP Status 500 Servlet execution threw an&" />


在另外的电脑上测试过是可以正常运行的,但是,换到自己电脑上就出现此类错误,主要原因是Tomcat、mysql-connector-java、jdk几个之间的版本不匹配。
个人推测比较有可能是mysql-connector-java和tomacat版本不匹配,但是不能肯定。(更确切的原因目前也还是不知道)

我最初的配置是:
JDK:1.7.0.67
jre1.7
tomcat 8.0.21
mysql-connector-java 5.0.4

解决方法如下:
一、更改了tomcat的版本为apache-tomcat-7.0.64
二、更改mysql-connector-java版本为5.1.24
二者选其一即可。
ps:写入数据库的时候用到了数据连接池,如果不使用数据连接池的话不会有这个问题。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有