Java Server Pages (JSP), das eine schnelle Programmentwicklung von der Serverseite aus ermöglicht, ist zu einem weit verbreiteten Tool geworden. Obwohl es immer noch eine langweilige Seite gibt, egal wie viele Mängel sie enthält, hat JSP Webprogrammierern viel zu bieten, insbesondere bei Datenbank-Eingabe- und Ausgabeoperationen und Datenverarbeitung.
Der Datenbankzugriff über JSP erfordert keine große Anleitung. Das Problem besteht darin, den Entwicklern klarzumachen, dass der Datenbankzugriff über Webprogramme attraktiver ist als der Datenbankzugriff über herkömmliche lokale OLAP-Systeme, und ihnen klarzumachen, dass saubere und präzise Datenzugriffsmethoden von entscheidender Bedeutung sind. An diesem Punkt kann JSP das Problem sehr gut lösen.
Was können Sie tun?
Welche Anforderungen sollte Ihr Datenbankzugriff erfüllen, wenn Sie ein Webprogramm mit hohem Datenvolumen und hoher Datendichte schreiben? Wenn Sie JSP verwenden, müssen Sie mit vielen serverseitigen Daten umgehen. Das Programm erfordert möglicherweise große Datenmengen, viele Benutzer oder eine Kombination aus beidem. Zu den möglichen Bereichen, die Sie ebenfalls in Betracht ziehen können, gehören: Leistungsoptimierung, Erkennbarkeit, die Auswirkungen mehrerer Abfragen pro Benutzer, Abfragekomplexität und Typkonvertierung auf hoher Ebene, wenn eine einzelne Sitzung große Datenmengen verarbeitet.
Dies erfordert eine groß angelegte Verarbeitung. JSP kann Ihnen jedoch dabei helfen, gut damit umzugehen, da es gut mit der Java Database Connectivity API (JDBC) kompatibel ist. Sie können JDBC in JSP-Code einbinden und JDBC kann Anweisungen zum Ausführen datenbankähnlicher Befehle übergeben, sofern Sie den JDBC-Treiber korrekt verwenden.
Start
Hier ist ein allgemeines, abstraktes JSP-Programmausführungssystem. Das bevorzugte JSP-Entwurfsmuster ist Model-View-Controller (MVCModel-View-Controller), eine Variante des traditionellen dreistufigen Systems, um besser zu Serverprogrammen zu passen. Im MVC-Entwurfsmuster von JSP bezieht sich „Modell“ auf die Logik und Daten des Programms, „Ansicht“ auf die Anzeige und „Controller“ auf die Anforderungsverarbeitung.
Wenn Sie ein JSP-Programm entwerfen, erstellen Sie am besten eine Seite, die den ersten Schritt zwischen Client- und Serverinteraktion darstellt. In einem typischen Programm gäbe es beispielsweise Seiten für jeden spezifischen Schritt im Datenaustausch: eine Dateneingabeseite, eine Validierungsanforderungsseite, eine Datenbankantwortseite und Unterseiten dieser Seiten (eine Änderungsdatensatzseite, eine Seite zum Löschen von Datensätzen). Seiten usw.).
Sie können JDBC in jede Seite einbetten, um angeforderte Datenbankvorgänge abzuschließen. Allerdings birgt dieser Vorgang auch ein großes Risiko, da das gesamte Programm durch die Mischung von JSP und JDBC gemischt wird – JDBC basiert auf SQL. Das bedeutet, dass SQL in JDBC gekapselt ist und JDBC auch in JSP gekapselt ist – das reicht aus, um Ihnen schwindlig zu werden. Wenn Sie diesen Ansatz wählen, erhalten Sie die gewünschte Funktionalität. Achten Sie jedoch besonders darauf, dass die Beziehung zwischen Ihrer Programmlogik und dem Datenbankzugriffscode sehr klar ist.
Eingebetteter JDBC
Die JDBC-API kommuniziert nicht direkt mit der Datenbank. Die eigentliche Verbindung erfolgt über die Treiber, die Sie auf der Website des Verkäufers herunterladen können. Darüber hinaus gibt es vier JDBC-Treibertypen. Wenn Sie sich für die Verwendung von JDBC entscheiden, müssen Sie den Typ richtig auswählen, der Ihren Anforderungen am besten entspricht. Sie verwenden eine DriverManager-Klasse, um treiberbasierte Verbindungen zu verarbeiten.
Sie können eine DriverManager-Methode namens getConnection verwenden, um Ihre Datenbankverbindung herzustellen. Sie können die Datenbank auch anhand ihrer URL-Parameter identifizieren:
public static Connection getConnection(jdbc:odbc:nameOfDatabase)
Teilen Sie dem DriverManager nun den Treiber mit (sollte sich in Ihrem Klassenpfad befinden):
Class.forName("sun.jdbc. odbc.nameOfJDBCDriver ”);
Sie haben die Datenbank mit dem JSP-Programm verbunden, können aber immer noch keinen Datenbankbefehl ausführen. Um dieses Problem zu lösen, können Sie die Anweisung im JSP-Code generieren, um den Datenbankbefehl wie folgt einzurichten:
public Statement createStatement(intresultSetType, intresultSetConcurrency)
Mit den Parametern können Sie die Ergebnisse der Datenbankabfrage steuern. Wenn Sie den ersten Parameter verwenden, können Sie die Ergebnisse im Programm sehen. Wenn Sie den zweiten Parameter verwenden, können Sie den Wert über die Abfrage aktualisieren (dies ist eine unglaubliche Funktion, die in einem zukünftigen Artikel näher erläutert werden sollte).
Tabelle A zeigt die Komplexität der Aufzählung der nächsten beiden Methoden.
Anweisungen sind SQL-Befehle. PreparedStatement ist eine SQL-Anweisung, und Sie können den Prozess des Programms über seine Parameter steuern. CallableStatement wird für den Zugriff auf gespeicherte SQL-Prozeduren verwendet. Langsam wird Ihnen klar, dass Sie diese Aussagen kompliziert finden, wenn Sie diese Anweisungen nicht lesen? Bitte beachten Sie, dass Sie durch den Aufruf der Rollback-Methode den Transaktionsvorgang rückgängig machen können.
Wenn Sie alle diese Datenbankzugriffsmethoden verwenden möchten, fehlt Ihnen nur noch:
ResultSetexecuteQuery(string sqlQuery)
(Sie können „executeQuery“ verwenden, um den oben genannten Vorgang abzuschließen. Sie können auch „executeUpdate“ verwenden, um Aktualisierungen, Einfügungen und Löschvorgänge abzuschließen.) Mit Ihrer oben genannten Deklarationsschnittstelle können Sie eine Reihe von Methoden zum Durchführen von SQL-Deklarationen verwenden. Das ResultSet greift lediglich auf die aus der Abfrage erhaltenen Daten zu, sodass Sie diese Daten in Ihrem JSP-Programm verwenden können.
Durch die Aufteilung von JSP-Programmen in einzelne, funktional offensichtliche Seiten und die Durchführung einer einzigen Datenbankoperation auf einer bestimmten Seite können Sie Ihre Datenbankoperationen erheblich vereinfachen und Seiten erstellen, die für die zukünftige Programmentwicklung verwendet werden können, selbst wenn Sie auf diesen Seiten SQL in JDBC einbetten .
Sie können jedoch noch mehr tun, um den Zugriff auf Ihre JSP-Datenbank sauberer und einfacher zu verwalten. Das Einbetten von JDBC in JSP-Code und die Kommunikation mit der Datenbank durch Senden von SQL-Befehlen ist ein guter Prozess. Allerdings ist es erforderlich, ein Programm für SQL-Befehle über die Schnittstelle zu erstellen, ohne die Komplexität des Codes zu erhöhen. Wenn Ihre SQL-Verarbeitung mehr Flexibilität erfordert, können Sie Ihren Datenbankschnittstellencode weiter trennen, um Ihre JSP-Programme zu bereinigen. Im folgenden Artikel erkläre ich Ihnen, wie Sie diese Prozesse umsetzen.