无法在JSP页面中连接到MySQL

时间:2012-10-22 18:29:08

标签: java jsp

我是JSP的新手,试图将JSP连接到数据库而不执行任何DDL或DML命令。这是我的JSP

 <%@ page import="java.sql.*" %> 
 <%@ page import="java.io.*" %> 
 <html> <head> <title>Connection with mysql database</title>
 </head> 
 <body>
 <h1>Connection status</h1>
 <% 
 try {
 String connectionURL = "jdbc:mysql://localhost:3306/bharath"; 
 Connection connection = null; 
 Class.forName("com.mysql.jdbc.Driver").newInstance(); 
 connection = DriverManager.getConnection(connectionURL, "root", "root");
 if(!connection.isClosed())
 %>
 <font size="+3" color="green"></b>
 <% 
 out.println("Successfully connected to " + "MySQL server using TCP/IP...");
 connection.close();
 }
 catch(Exception ex){
 %></font>
 <font size="+3" color="red"></b>
 <%
 out.println("Unable to connect to database.");
 } 
 %>
 </font></body> </html> 

执行catch块中的异常。那么try块可能出了什么问题。我使用默认设置安装了MySql,用户为“root”,数据库名称为“bharath”。

 Exception - 
 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1694) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1244) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2412) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2445) at 

3 个答案:

答案 0 :(得分:1)

而不是

out.println("Unable to connect to database.");

你应该写

ex.printStackTrace(new java.io.PrintWriter(out));

将指出您的主要问题。

答案 1 :(得分:0)

驱动程序没有必需的newInstance()。它应该只是加载。

mysql-connector-java-x.x.x-bin.jar放到WEB-INF\lib。您在连接中提供的凭据应该正常工作。如果它不起作用或者您在连接URL中输入了错误的数据库名称,或者您的端口错误或者您的主机错误。

还有一个更好的机会从池中获取连接。请看Connection Pooling

答案 2 :(得分:0)

请确保您拥有&#34; com.mysql.jdbc.Driver&#34;的jar。添加在类路径中。