Masalah:
Apabila cuba menyambung ke Pangkalan data MySQL melalui Tomcat menggunakan pengumpulan sambungan, ralat "Tiada pemacu yang sesuai ditemui untuk jdbc:mysql://localhost/dbname" berlaku. Walaupun menambah perpustakaan yang diperlukan pada WEB-INF/lib dan laluan kelas, isu ini berterusan.
Penjelasan:
Apabila menggunakan kumpulan sambungan, pendaftaran pemandu mesti diisytiharkan di luar aplikasi itu sendiri. Dalam persekitaran Tomcat, ini biasanya dicapai dengan meletakkan fail jar pemacu dalam folder lib pelayan (CATALINA_HOME/lib).
Penyelesaian:
Contoh 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) {} }
Dengan mengikuti langkah-langkah ini, anda harus dapat menyelesaikan ralat "Tiada pemacu yang sesuai ditemui" dan mewujudkan sambungan ke pangkalan data MySQL anda melalui Tomcat menggunakan pengumpulan sambungan.
Atas ialah kandungan terperinci Mengapa Aplikasi Tomcat Saya Menunjukkan 'Tiada Pemacu Sesuai Ditemui' Apabila Menggunakan Pengumpulan Sambungan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!