读书人

jsp连接数据库时报错解决方法

发布时间: 2013-09-11 17:59:58 作者: rapoo

jsp连接数据库时报错
HTTP Status 500 -

--------------------------------------------

type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /ShowArticleTree.jsp at line 14

11: <%
12: Class.forName("com.mysql.jdbc.Driver");
13: String url = "jdbc:mysql://localhost:8080/bbs?user=root&password=root";
14: Connection conn = DriverManager.getConnection(url);
15:
16: %>
17:


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.ShowArticleTree_jsp._jspService(ShowArticleTree_jsp.java:102)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
sun.reflect.GeneratedConstructorAccessor6.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:690)
com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1093)
com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
sun.reflect.GeneratedConstructorAccessor7.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
java.sql.DriverManager.getConnection(DriverManager.java:582)
java.sql.DriverManager.getConnection(DriverManager.java:207)
org.apache.jsp.ShowArticleTree_jsp._jspService(ShowArticleTree_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)


javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2539)
com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:614)
com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1093)
com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
sun.reflect.GeneratedConstructorAccessor7.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
java.sql.DriverManager.getConnection(DriverManager.java:582)
java.sql.DriverManager.getConnection(DriverManager.java:207)
org.apache.jsp.ShowArticleTree_jsp._jspService(ShowArticleTree_jsp.java:68)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


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


--------------------------------------------

Apache Tomcat/6.0.13


数据库建立了表,tomcat启动了,连接代码如下
<%
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:8080/bbs?user=root&password=root";
Connection conn = DriverManager.getConnection(url);

%>




请问如何解决这个问题?

[解决办法]
对的 应该是端口的问题 你是设置的 mysql一般默认好像是3306;
[解决办法]
localhost:后面跟的是你数据库开的端口号,一般是1433.
8080是我们将project部署到tomcat上后,通过浏览器访问时默认的端口号。
由下面这句话指明了链接错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure


我的异常网推荐解决方案:An exception occurred processing JSP page,http://www.myexception.cn/j2se/33144.html
我的异常网推荐解决方案:The driver has not received any packets from the server.,http://www.myexception.cn/j2ee/345243.html
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.myexception.cn/java-web/317.html

读书人网 >Java Web开发

热点推荐