首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于Java连接MySql数据库的有关问题

2011-12-15 
关于Java连接MySql数据库的问题我是刚学Jsp的,我用jsp简单的连接MySQL数据库,但是却出现了一下问题:**BEGI

关于Java连接MySql数据库的问题
我是刚学Jsp的,我用jsp简单的连接MySQL数据库,但是却出现了一下问题:
**   BEGIN   NESTED   EXCEPTION   **  

java.io.IOException
MESSAGE:   Unexpected   end   of   input   stream

STACKTRACE:

java.io.IOException:   Unexpected   end   of   input   stream
at   com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096)
at   com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:626)
at   com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
at   com.mysql.jdbc.Connection. <init> (Connection.java:491)
at   com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at   java.sql.DriverManager.getConnection(DriverManager.java:525)
at   java.sql.DriverManager.getConnection(DriverManager.java:171)
at   org.apache.jsp.testjdbc_jsp._jspService(org.apache.jsp.testjdbc_jsp:58)
at   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at   org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at   org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at   java.lang.Thread.run(Thread.java:595)


**   END   NESTED   EXCEPTION   **

at   com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:699)
at   com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
at   com.mysql.jdbc.Connection. <init> (Connection.java:491)
at   com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at   java.sql.DriverManager.getConnection(DriverManager.java:525)
at   java.sql.DriverManager.getConnection(DriverManager.java:171)
at   org.apache.jsp.testjdbc_jsp._jspService(org.apache.jsp.testjdbc_jsp:58)
at   org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at   org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at   org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at   org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at   org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at   org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at   java.lang.Thread.run(Thread.java:595)


我不知道这是什么意思,我的代码如下:
<%@   page   language= "java "   contentType= "text/html;   charset=gb2312 "
        pageEncoding= "gb2312 "%>
<%@   page   import= "java.sql.* "   %>
<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN "   "http://www.w3.org/TR/html4/loose.dtd ">
<%
String   driver   =   "com.mysql.jdbc.Driver ";
String   uri   =   "jdbc:mysql://localhost:3306/note?user=root&password=usiboy ";
String   user   =   "root ";
String   password   =   "usiboy ";
Connection   conn   =   null;
PreparedStatement   pstmt   =   null;
ResultSet   rs   =   null;

String   sql   =   "selec   *   from   UserInfo   where   userID   =   ? ";

Class.forName(driver);
conn   =   DriverManager.getConnection(uri,user,password);
pstmt   =   conn.prepareStatement(sql);
pstmt.setInt(1,1);
rs   =   pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}

%>

<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> Insert   title   here </title>
</head>
<body>

</body>
<%
if(rs   !=   null){
rs.close();
rs   =   null;
}
if(pstmt   !=   null){
pstmt.close();
pstmt   =   null;
}
if(conn   !=   null){
conn.close();
conn   =   null;
}
%>
</html>

请给为高手指点迷津!!!

[解决办法]
JSP连接MySQL数据库代码

http://www.java99.com/?m=ViewArticle&id=254
[解决办法]
String uri = "jdbc:mysql://localhost:3306/note?user=root&password=usiboy ";


这里不用指出user和password吧
[解决办法]
String uri = "jdbc:mysql://localhost:3306/note?user=root&password=usiboy ";
conn = DriverManager.getConnection(uri,user,password);
在URL里面指定了用户名和密码后,在后面取得连接的地方按下面写的就OK:
Connection connection=DriverManager.getConnection(uri);
[解决办法]
你把jdbc驱动程序放到这几个地方:%tomcat_home%\common\lib;
%Java_home%\lib;%tomcat_home%\webapps\你自己的web应用\WEB-INF\lib;
然后把这两个加到环境变量classpath 中:
%tomcat_home%\common\lib;
%Java_home%\lib;
应该就可以解决问题了

热点排行