Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.servlet.ServletException:java.sql.SQLException:拒绝用户访问';根'@';本地主机';(使用密码:是)_Java_Mysql_Tomcat - Fatal编程技术网

javax.servlet.ServletException:java.sql.SQLException:拒绝用户访问';根'@';本地主机';(使用密码:是)

javax.servlet.ServletException:java.sql.SQLException:拒绝用户访问';根'@';本地主机';(使用密码:是),java,mysql,tomcat,Java,Mysql,Tomcat,我是新来的Java,试图通过连接mysql数据库来创建一个简单的登录和注册页面。我跟踪了这个链接 我已将registration.jsp更改为 <%@ page import ="java.sql.*" %> <% String user = request.getParameter("uname"); String pwd = request.getParameter("pass"); String fname = request.getPa

我是新来的Java,试图通过连接mysql数据库来创建一个简单的登录和注册页面。我跟踪了这个链接

我已将registration.jsp更改为

<%@ page import ="java.sql.*" %>
<%
    String user = request.getParameter("uname");    
    String pwd = request.getParameter("pass");
    String fname = request.getParameter("fname");
    String lname = request.getParameter("lname");
    String email = request.getParameter("email");
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDB",
            "root", "password");
    Statement st = con.createStatement();
    //ResultSet rs;
    int i = st.executeUpdate("insert into members(first_name, last_name, email, uname, pass, regdate) values ('" + fname + "','" + lname + "','" + email + "','" + user + "','" + pwd + "', CURDATE())");
    if (i > 0) {
        //session.setAttribute("userid", user);
        response.sendRedirect("welcome.jsp");
       // out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
    } else {
        response.sendRedirect("index.jsp");
    }
%>

0) {
//session.setAttribute(“userid”,用户);
sendRedirect(“welcome.jsp”);
//打印(“注册成功!”+);
}否则{
sendRedirect(“index.jsp”);
}
%>
但是,当我尝试注册时,我得到了这个错误

type Exception report

message

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

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

javax.servlet.ServletException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
    org.apache.jsp.registration_jsp._jspService(registration_jsp.java:80)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
    com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4004)
    com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1284)
    com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2312)
    com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
    com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774)
    com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
    java.sql.DriverManager.getConnection(DriverManager.java:571)
    java.sql.DriverManager.getConnection(DriverManager.java:215)
    org.apache.jsp.registration_jsp._jspService(registration_jsp.java:62)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
类型异常报告
消息
说明服务器遇到内部错误(),无法完成此请求。
例外
org.apache.jasper.JasperException:javax.servlet.ServletException:java.sql.SQLException:user'root'@'localhost'的访问被拒绝(使用密码:YES)
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
javax.servlet.ServletException:java.sql.SQLException:拒绝用户'root'@'localhost'的访问(使用密码:是)
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
org.apache.jsp.registration\u jsp.\u jsp服务(registration\u jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
根本原因
java.sql.SQLException:拒绝用户“root”@“localhost”的访问(使用密码:是)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:919)
com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4004)
com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1284)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2312)
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122)
com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:774)
JDBC4Connection(JDBC4Connection.java:49)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
newInstance(Constructor.java:526)
com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289)
getConnection(DriverManager.java:571)
java.sql.DriverManager.getConnection(DriverManager.java:215)
org.apache.jsp.registration\u jsp.\u jsp服务(registration\u jsp.java:62)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
帮帮我,是什么导致了这个问题

编辑:我可以使用相同的用户名和密码(root和密码)登录


在您的帐户中检查登录名/密码database@N123用户名/密码似乎输入错误,请先确认。如果在命令行中包含
-h localhost
,请检查控制台登录是否仍然有效抱歉@Jan,您想让我在mysql命令行中键入-h localhost吗?是的,这有点像从java登录失败的主机名部分。所以去mysql-u root-h localhost-p