Ich bin mit Tomcat Version 8 und MySQL-Anschluss ver 6. Hier meine context.xml ist:java.sql.SQLException: Kann nicht erstellen PoolableConnectionFactory (CLIENT_PLUGIN_AUTH erforderlich)
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Resource auth="Container"
driverClassName="com.mysql.cj.jdbc.Driver"
maxActive="20"
maxIdle="10"
maxWait="-1"
name="jdbc/MyConn"
username="root"
password="mypassword"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/training_db"
/>
Dies ist die Klasse I für verwenden DB-Verbindung.
public class DBConnection {
public static Connection getConnection() throws Exception{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/MyConn");
Connection conn = ds.getConnection();
System.out.println("dbConLookp():: Data Source Connection is called."+ds.getLogWriter());
return conn;
}
}
Dies ist, was ich für die Verbindung zur Datenbank haben und tun Einfügungen.
try{
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
Connection con = DBConnection.getConnection();
PreparedStatement st = con.prepareStatement("INSERT INTO EMPLOYEE (ID,FIRSTNAME,LASTNAME,MIDDLENAME,PHONENUMBER,EMAILID,ADDRESS,USERPASS) VALUES (?,?,?,?,?,?,?)");
st.setInt(1, Integer.parseInt(request.getParameter("id")));
st.setString(2, firstName);
st.setString(3, lastName);
st.setString(4, middleName);
st.setString(5, phoneNumber);
st.setString(6, emailId);
st.setString(7, address);
st.setString(8, password);
boolean rs = st.execute();
if (!rs) {
System.out.println("Record "+request.getParameter("id")+" is inserted successfully.");
} else {
System.out.println("Record is insertion is failed.");
}
st.close();
con.close();
}
catch(Exception e){
System.out.println("Exception caught:" + e);
}
Auf Register Seite, wenn ich registrieren, klicken, erhalte ich java.sql.SQLException: kann nicht erstellt werden PoolableConnectionFactory (CLIENT_PLUGIN_AUTH erforderlich) Ausnahme. Ich habe versucht, localhost zu 127.0.0.1 zu ändern, aber es hat nicht funktioniert. Ich habe auch die MySQL-Berechtigungen geprüft und sie sehen gut aus. Ich habe versucht, einen anderen Benutzer zu erstellen, aber es hat nicht so gut funktioniert. Ich habe versucht, eine andere context.xml in meinem WEB-INF-Ordner zu erstellen, aber kein Glück. Ich weiß nicht, was ich noch tun kann. Jede Hilfe wird geschätzt.