Ich habe überall im Internet gesucht, um eine Lösung für mein Problem zu finden, aber ich hatte kein Glück! : (
Ich versuche ein Servlet zu entwickeln, das eine Verbindung zu einer MySQL Datenbank (Connection Pool) herstellen und auf einem Tomcat 8 Server bereitstellen kann.
Ich habe eine context.xml-Datei in META-INF so:
%Vor%In WEB-INF habe ich die Datei web.xml erstellt:
%Vor%Schließlich verwende ich in der Servlet-Klasse:
%Vor%Aber in dieser Zeile, wenn ich versuche, eine Verbindung von der Datenquelle zu bekommen, bekomme ich die folgende Ausnahme:
%Vor% Ich dachte, es könnte durch das Fehlen des JDBC-Treibers verursacht werden, also habe ich mysql-connector-java-5.1.34-bin.jar
in:
aber ohne Glück.
Können Sie mir bitte sagen, was ich falsch mache? Ich fühle mich so noob ...: (
Vielen Dank für Ihre Zeit beim Lesen (und hoffentlich Beantworten) meiner Frage !!!
Sieht so aus, als ob Ihnen alles gut geht, also:
driverClassName="com.mysql.jdbc.Driver" (die Großbuchstaben können wichtig sein).
Du platzierst den mysql-connector-java-5.1.34-bin.jar (er muss eine jar extension haben, die in tomcat / lib gefunden werden soll (lege ihn nicht in deinen webapp Pfad, er sollte von tomcat class loader geladen werden) .
Wenn es nicht hilft und Sie Ihre Webanwendung von der IDE starten. Versuchen Sie, die Tomcat-Formularkonsole zu starten und Ihre App manuell bereitzustellen. Wenn Sie mehr als einen Tomcat installiert haben, stellen Sie sicher, dass CATALINA_HOME auf den Wert gesetzt ist, auf den Sie Ihr mysql jar stellen.
Ein mögliches Problem könnte sein, dass Tomcat den Treiber-Jar während des Classloads mehrmals trifft. Der Treiber-Jar muss sich nur unter dem Tomcat-Lib-Verzeichnis befinden und nicht unter WEB-INF/lib
Ihrer Web-Anwendung. Wenn ich den Treiber an beiden Stellen krachte, führte das zu seltsamen Problemen beim Laden von Klassen, was sich in Form von Fehlern manifestierte, die darauf hindeuteten, dass "jdbc-Treiber mit leerer Klasse und Null-URL nicht erstellt werden konnte" . Finden Sie diese Antwort für ein ähnliches Problem in einer anderen Datenbank: Ссылка
Update : Ich starte Tomcat nicht mehr in Eclipse, um sicherzustellen, dass die Eclipse- und Tomcat-Einstellungen nicht verwechselt werden. Stattdessen starte ich einfach tomcat aus dem bin-Verzeichnis und debugge den jvm aus der Ferne Eclipse). Sobald ich diese Änderung vorgenommen habe, konnte ich den Treiber sowohl im Web-INF / lib- als auch im Tomcat-lib-Verzeichnis kritzeln lassen, und das spielte keine Rolle.
Schritte zum Beheben von Problemen mit Netbeans / Tomee / MySQL und Auflösen von FAIL - Implementierte Anwendung im Kontextpfad /RA7Web-1.0-SNAPSHOT, aber Kontext konnte nicht gestartet werden:
Bearbeiten Sie server.xml auf Ihrem Tomee-Server mit einem vollständigen Pfadnamen für appBase:
%Vor%Fügen Sie Ihrem Projekt web-xml Folgendes hinzu:
%Vor%Fügen Sie Ihrer Context.xml Folgendes hinzu:
%Vor%Die folgende resources.xml wurde generiert, aber ich musste mehrere Backslashes bearbeiten, damit sie mit meiner URL übereinstimmten:
%Vor%