Problem:
Beim Versuch, eine Verbindung zu einem herzustellen Wenn Sie eine MySQL-Datenbank über Tomcat mit Verbindungspooling verwenden, tritt die Fehlermeldung „Kein passender Treiber für jdbc:mysql://localhost/dbname gefunden“ auf. Obwohl die erforderlichen Bibliotheken zu WEB-INF/lib und zum Klassenpfad hinzugefügt wurden, besteht das Problem weiterhin.
Erklärung:
Bei der Verwendung von Verbindungspools muss die Treiberregistrierung deklariert werden außerhalb der Anwendung selbst. In einer Tomcat-Umgebung wird dies normalerweise dadurch erreicht, dass die Treiber-JAR-Datei im lib-Ordner des Servers (CATALINA_HOME/lib) abgelegt wird.
Lösung:
Beispiel ServletContextListener:
import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.tomcat.dbcp.dbcp.ConnectionFactory; import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory; import org.apache.tomcat.dbcp.dbcp.PoolingDriver; import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool; public class DatabaseInitializer implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce) { try { GenericObjectPool connectionPool = new GenericObjectPool(null); ConnectionFactory connectionFactory = new DriverManagerConnectionFactory( "jdbc:mysql://localhost/dbname", "test", "password"); PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); PoolingDriver driver = new PoolingDriver(); driver.registerPool("test", connectionPool); } catch (Exception e) { throw new RuntimeException(e); } } @Override public void contextDestroyed(ServletContextEvent sce) {} }
Von Wenn Sie diese Schritte befolgen, sollten Sie in der Lage sein, den Fehler „Kein geeigneter Treiber gefunden“ zu beheben und über Tomcat mithilfe der Verbindung eine Verbindung zu Ihrer MySQL-Datenbank herzustellen Pooling.
Das obige ist der detaillierte Inhalt vonWarum zeigt meine Tomcat-Anwendung „Kein geeigneter Treiber gefunden' an, wenn ich MySQL-Verbindungspooling verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!