2012-03-25 4 views
0

Ich habe eine kleine Website in Netbeans, mit JSP und MySQL erstellt. Ich habe ein sehr merkwürdiges Problem:JSP: MySQL JAR-Datei funktioniert nicht mehr

Ich lade die WAR-Datei auf den Server und die Website läuft ohne Probleme für ein paar Tage - dann aus heiterem Himmel funktioniert die JAR-Datei nicht mehr und die Website zeigt keine der Informationen aus der Datenbank.

Ich habe versucht, die JAR-Datei in das Lib-Verzeichnis auf dem Apache Tomcat-Server hochzuladen, aber das hat das Problem nicht gelöst.

Hat das jemand schon einmal erlebt?

Antwort

0

, was passieren kann, wenn der Code nicht close() DB Ressourcen wie Connection, Statement und ResultSet richtig im finally Block nach dem Gebrauch, die ein ziemlich häufig den Anfang Fehler. Der DB wird dann nach einiger Zeit diese Ressourcen ausgehen. Dies kann auch passieren, wenn der Code die DB-Verbindung nur beim Start von webapp erwirbt und den einen und den gleichen für die Verbindung für den Rest der Lebensdauer der Webanwendung verwendet, anstatt sie zu dem Zeitpunkt zu erfassen, an dem die SQL-Abfrage ausgeführt werden soll. Eine DB-Ressource, die zu lange geöffnet bleibt, wird früher oder später aussetzen.

Ich würde auch die Ausnahmebehandlung in Ihrem Code betrachten. Sie sollten sicherlich eine SQLException bekommen haben, wenn dieses Problem auftritt. Es sieht so aus, als ob der Code die SQLException durch einen leeren catch-Block oder durch einen catch-Block verschluckt, der nichts anderes tut, als ihn auf das Serverprotokoll zu drucken (was Sie vielleicht nie gelesen haben). Der Code sollte den Ablauf nicht immer fortsetzen, wenn eine Ausnahme auftritt, sondern die Ausnahme ordnungsgemäß behandeln, indem eine Fehlerseite angezeigt wird. Dies ist auch ein häufiger Anfängerfehler.

Alles in allem finden Sie ein grundlegendes Kickoff-Beispiel für den richtigen Ansatz in dieser Antwort: Show JDBC ResultSet in HTML in JSP page using MVC and DAO pattern.

Beachten Sie, dass dies nichts damit zu tun hat, dass "die JAR-Datei nicht funktioniert". Das macht für sich allein keinen Sinn.