Добрый день, помогите пожалуйста разобраться с ошибкой Кусок кода в котором возникает ошибка(( | Код | Context ctx = (Context) new InitialContext().lookup("java:comp/env"); DataSource dataSource = (DataSource) ctx.lookup("jdbc/StudentsDS"); Connection con = dataSource.getConnection(); Statement stmt = con.createStatement(); // Ошибка возникает здесь
|
context.xml | Код | <?xml version="1.0" encoding="UTF-8"?> <Context path="/studentsApp"> <Resource name="jdbc/StudentsDS" type="javax.sql.DataSource" username="root" password="1234" driverClassName="com.mysql.jdbc.Driver" maxIdle="2" maxWait="5000" validationQuery="SELECT 1" url="jdbc:mysql://127.0.0.1:3306/students" maxActive="4"> </Resource> </Context>
|
Текст ошибки | Код | HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: NO)) students.web.MainFrameServlet.doGet(MainFrameServlet.java:42) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: NO)) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1225) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) students.logic.ManagementSystem.getInstance(ManagementSystem.java:36) students.web.MainFrameServlet.doGet(MainFrameServlet.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO) com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2975) com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:798) com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3700) com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1203) com.mysql.jdbc.Connection.createNewIO(Connection.java:2572) com.mysql.jdbc.Connection.<init>(Connection.java:1485) com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294) org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1247) org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1221) org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880) students.logic.ManagementSystem.getInstance(ManagementSystem.java:36) students.web.MainFrameServlet.doGet(MainFrameServlet.java:30) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
|
Без использования JNDI я к MySql перкрасно подключаюсь вот таким образом( | Код | Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/students"; con = DriverManager.getConnection(url, "root", "1234"); stmt = con.createStatement();
|
|