Rumah > pangkalan data > tutorial mysql > Mengapa Aplikasi Tomcat Saya Menunjukkan 'Tiada Pemacu Sesuai Ditemui' Apabila Menggunakan Pengumpulan Sambungan MySQL?

Mengapa Aplikasi Tomcat Saya Menunjukkan 'Tiada Pemacu Sesuai Ditemui' Apabila Menggunakan Pengumpulan Sambungan MySQL?

Susan Sarandon
Lepaskan: 2024-12-26 15:57:09
asal
255 orang telah melayarinya

Why Does My Tomcat Application Show

Membetulkan Ralat "Tiada pemandu yang sesuai ditemui" semasa Menggunakan Kolam Sambungan

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:

  1. Letakkan balang pemacu dalam folder lib pelayan: Salin balang pemacu MySQL (connector-java-*.jar) ke folder Tomcat lib.
  2. Pastikan pemulaan kumpulan sambungan yang betul: Dalam kod anda, alihkan permulaan kumpulan sambungan (cth., mencipta tika PoolingDriver) kepada pelaksanaan ServletContextListener atau mekanisme permulaan serupa yang memastikan ia dimulakan sebelum konteks aplikasi dimuatkan.

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) {}
}
Salin selepas log masuk
  1. Gunakan semula aplikasi anda ke Tomcat: Selepas membuat perubahan ini, gunakan semula permohonan anda kepada Tomcat.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan