In diesem Artikel stelle ich Ihnen eine flexible und interessante Technologie vor, die auf JSP basiert. JSTL steht für Java Server Pages Standard Tag Library. Obwohl JSP sehr beliebt ist, ist JSTL in SQL-Datenbankanwendungen immer noch sehr beliebt . Einfache und schnelle Front-End- und Back-End-Entwicklung ist noch nicht weit verbreitet. Sobald Sie JSTL verstanden haben, werden Sie seine Vorteile verstehen und feststellen, dass es in Ihrer täglichen Arbeit als Programmierer in vielen Aspekten eingesetzt wird. Ich gehe hier davon aus, dass Sie bereits mit HTML vertraut sind, grundlegende SQL-Anweisungen und die Grundlagen von JSP verstehen können. Denn der folgende Inhalt beinhaltet dieses Wissen.
JSTL ist eine Sammlung standardisierter Tag-Bibliotheken, die Iteration, Bedingungen, XML-Dokumentanalyse, Internationalisierung und die Möglichkeit zur Interaktion mit Datenbanken mithilfe von SQL unterstützen. Ursprünglich wurde die JSTL-Spezifikation von JSR #52 entwickelt und verbessert, das von JCP (Java Community Process Program) organisiert wurde. „JCP übernimmt die wichtige Aufgabe der Java-Technologieentwicklung“ – heißt es auf der offiziellen Website. Als offene Organisation umfasst JCP sowohl formelle als auch informelle Mitglieder. JCP hat eine wichtige Führungsrolle bei der Bildung und Entwicklung technischer Java-Spezifikationen gespielt. JSTL umfasst hauptsächlich vier grundlegende Teile der Tag-Bibliothek: Kern, XML, Internationalisierung und Unterstützung für SQL. Da der Hauptzweck dieses Artikels darin besteht, JSTL durch die Anwendung des SQL-Teils schnell zu verstehen, werden in diesem Artikel nur einige Grundfunktionen der Core- und SQL-Tag-Bibliotheken vorgestellt.
Diese Technologie ist einfach und leistungsstark genug, um mit PHP und ColdFusion zu konkurrieren. Sie verfügt über genügend Möglichkeiten, um die Anwendungsbereiche von Java zu erweitern. Diese Bereiche umfassen nicht nur große und skalierbare Webanwendungen, sondern auch solche mit einfachen Webprogrammen Problem. Dadurch können Sie die üblichen Überlegungen zur XML-Integration und Datenbankverbindungen beim Erstellen Ihrer Site vermeiden. Wie ich gerade erwähnt habe, liegt der Kernpunkt von JSTL in der Einfachheit und Benutzerfreundlichkeit. Das heißt, JSTL basiert auf JSP, was uns die Verwendung aller Java-Technologien ermöglicht, die wir uns merken müssen.
Bevor wir beginnen, müssen wir herausfinden, wie JSTL ausgeführt wird. Da es auf JSP-Technologie basiert, benötigen wir einen Container, der JSP kompilieren kann, um es auszuführen: TOMCAT ( http://jakarta. apache.org/tomcat/index.html ). Die Installation dieses Produkts geht über den Rahmen dieses Artikels hinaus. Es besteht kein Zweifel, dass dieses Softwareprodukt mittlerweile sehr beliebt ist, und es gibt eine Menge Dokumentation zur Installation. Es wird davon ausgegangen, dass Sie diesen Container installiert und erfolgreich konfiguriert haben. Sie müssen nur die zum Ausführen von JSTL erforderlichen Dateien installieren. Er kann von http://jakarta.apache.org/taglibs/doc/standard-doc/intro heruntergeladen werden .html, Sie müssen es nicht wirklich installieren, Sie müssen nur die .JAR-Datei in das WEB-INF/lib-Verzeichnis Ihrer Anwendung einfügen. Ich werde später erklären, wie es
geht a Um Programme auf einer Datenbank auszuführen, die Standard-SQL unterstützt, muss auf Ihrem Computer eine Datenbank installiert sein. Es gibt viele Arten von Datenbanken, hier habe ich mich für MySql entschieden. Der Grund, warum ich mich für ihn entschieden habe, ist, dass wir zunächst die Rolle von JSTL beim Aufbau einfacher und schneller Anwendungsfelder zeigen müssen und es gleichzeitig mit PHP + MySql verglichen werden kann, das dabei immer dominant war Feld; der zweite Punkt ist, dass MySQL kostenlos heruntergeladen werden kann und einen JDBC-Treiber für JAVA enthält. Kurz gesagt, um die folgenden Beispiele verwenden zu können, müssen Sie einen MYSQL-Server herunterladen ( http://www.mysql.com/products/) . mysql/index.html ; MySql Connector /J JDBC-Treiber http://www.mysql.com/products/connector-j/index.html ; und MySql-Kontrollzentrum http://www.mysql.com/products/connector- j/index.html ) ermöglicht Ihnen dieses Produkt die sehr einfache Bedienung und Verwaltung von MySQL-Datenbankdateien. Nachdem alle Downloads abgeschlossen sind, müssen Sie MySQL und MySQL Control Center installieren. Darüber hinaus muss der JDBC-Treiber für MySQL im Verzeichnis /Web-INF/lib Ihrer Webanwendung abgelegt werden.
Bevor Sie den Programmcode erstellen, müssen Sie die Datenbanktabellen erstellen und ausfüllen. Es gibt ausführliche Artikel zu diesem Thema, und wie man das macht, würde den Rahmen dieses Artikels sprengen. Hier empfehle ich Ihnen MySQL Control Center, ein oben erwähntes visuelles Verwaltungstool. Sie können damit einen Testbenutzer zum Ausführen des Programms und der Datenbank erstellen, eine Testtabelle erstellen und eine Reihe von Datensätzen ausfüllen. Bezüglich der Konfigurationsumgebungsparameter wie Anmeldename und Kennwortdatenbankname sollten Sie sich diese merken und müssen sie später auf unseren Code anwenden.
Jetzt können Sie Ihre erste JSTL-Anwendung erstellen. Dazu müssen wir Folgendes tun:
Der gesamte Beispielprogrammcode enthält zwei Dateien, Hello.jsp und Continue.jsp.
In der Datei Hello.jsp können Sie den Datenbanknamen eingeben , Anmeldename, Anmeldekennwort, Name der Datenbanktabelle. Continue.jsp: Akzeptiert die Dateninformationen in Hello.jsp, stellt eine Verbindung zur Datenbank her und führt eine Auswahlanforderung an die Tabelle in der Datenbank aus.
Nachfolgend sind alle Codedateien dieses Systems aufgeführt. Ich werde sie einzeln erläutern. Was die Struktur des Codes betrifft, glaube ich, dass Sie ihn auch ohne meine Erklärung verstehen können
1: <!-- Hello.jsp -->
2: <html>
3: <Kopf>
4: <Titel>Hallo</Titel>
5: </Kopf>
6: <body bgcolor="#ffffff">
7: <h1>Bitte geben Sie alle erforderlichen Informationen ein und klicken Sie auf OK.</h1>
8: <form method="post" action="Continue.jsp">
9: <br>Ihr Login zur Datenbank:
<input type="text" name="login" size="15">
10: <br>Ihr Passwort zur Datenbank:
<Eingabetyp="Passwort" Name="Passwort" Größe="15">
11: <br>Ihr Datenbankname:
<input type="text" name="database" size="15">
12: <br>Ihre Datenbanktabelle:
<Eingabetyp="text" name="table" size="15">
13: <br><br><input type="submit" name="submit" value=" OK ">
14: </form>
15: </Körper>
16: </html>
(Bitte beachten Sie, dass die Zahlen auf der linken Seite des Textes nur dazu dienen, Ihnen einige Markup-Informationen bereitzustellen. Sie müssen sie nicht in Ihre Codedatei eingeben.)
Das Obige ist der Quellcode von allem Hallo.jsp. Überraschenderweise handelt es sich nur um reinen HTML-Code. Ich denke, dass keine Kommentare erforderlich sind. Der Grund, warum ich diese Codeausschnitte in den Artikel einfüge, besteht darin, die Integration von JSTL in erforderliche HTML-Sites zu demonstrieren um schnell zusätzliche Funktionen zu erweitern. Lassen Sie mich Ihnen den gesamten Code von Continue.jsp zeigen.
1: <!-- Continue.jsp -->
2: <%@ taglib prefix="c" uri=" http://java.sun.com/jstl/core " %>
3: <@ taglib prefix="sql" uri=" http://java.sun.com/jstl/sql " %>
4: <c:set var="h" value="localhost"/>
5: <c:set var="l" value="${param.login}"/>
6: <c:set var="p" value="${param.password}"/>
7: <c:set var="d" value="${param.database}"/>
8: <c:set var="t" value="${param.table}"/>
9: <html>
10: <Kopf>
11: <Titel>Weiter</Titel>
12: </Kopf>
13: <body bgcolor="#ffffff">
14: <sql:setDataSource drivers="com.mysql.jdbc.Driver"
url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
15: <sql:query var="result">
16: SELECT * FROM <c:out value="${t}"/>
17: </sql:query>
18: <c:forEach var="row" items="${result.rowsByIndex}">
19: <c:out value="${row[0]}"/> <br>
20: </c:forEach>
21: </Körper>
22: </html>
(Bitte beachten Sie, dass die Zahlen links vom Text nur dazu dienen, Ihnen einige Markup-Informationen zu geben. Sie müssen sie nicht in Ihre Codedatei eingeben.)
Das ist nicht unser gesamter Code Es ist großartig? Lassen Sie uns nun die Funktion der oben genannten Codes erklären.
Zeile 1 ist die HTML-Kommentarbeschreibung.
Zeilen 2–3 Diese JSP-Tags werden verwendet, um auf externe Tag-Bibliotheken zu verweisen. Genauer gesagt beziehen sie sich auf die Core- und SQL-Tag-Bibliotheksteile der JSTL-Bibliothek. Wir legen für sie Präfixnamen fest, damit wir über diese Präfixnamen auf die Funktionsmethoden in der eingeführten Tag-Bibliothek zugreifen können.
Zeile 4---8 Genau wie Hello.jsp tatsächlich ausgeführt wird, wird continue.jsp angefordert. Nachdem Continue.jsp die Anforderung erhalten hat, muss es mehrere Variablen von Hello.jsp abrufen und analysieren .YOUR_VAR}. Setzen Sie in der vierten Zeile <c:set tag die Variable ${h} auf „localhost“. Die fünfte Zeile Variable ${l} erhält die Informationen, die wir in das Anmeldetextfeld in Hello.jsp, 6. und 7., eingegeben haben. Die Variablen in den 8 Zeilen erhalten jeweils das Passwort, den Datenbanknamen und den Datentabellennamen, die der Benutzer in Hello.jsp eingegeben hat.
Die Zeilen 9–13 sind einige einfache HTML-Tags, die ich häufig zum Erstellen von HTML-Seitenkopfzeilen verwende. Jetzt kommt die wichtige Funktionalität.
In Zeile 14 versuchen wir, eine Datenbankverbindung mithilfe des zuvor erhaltenen MySQL-Treibers (com.mysql.jdbc.Driver) herzustellen. In der URL geben wir die für die Datenbankverbindung erforderlichen Parameter an, z. B. Datenbankname, Hostname und Login Name und Login-Passwort. Dementsprechend können wir jeden anderen JDBC-Treiber verwenden, um eine Verbindung zu der entsprechenden Datenbank herzustellen. Wenn wir eine Verbindung zu anderen SQL-Datenbanken herstellen müssen, ändern Sie einfach diese URL.
Zeilen 15–17 Hier führen wir eine Select-Abfrage aus. Bitte achten Sie besonders auf Zeile 16. Wir verwenden eine andere JSTL-Funktion <c:out, um den erhaltenen Datentabellennamen auszugeben. Hier können wir auch andere SQL-Befehle verwenden, z. B. INSERT , LÖSCHEN usw. Um diese Abfrageanforderungen ohne Rückgabewerte auszuführen, müssen Sie die JSTL-Funktion <sql:update verwenden. Er kann sie wie <SQL:query direkt ausführen, außer dass bei der Ausführung keine Ergebnisvariable angegeben werden muss, um die von der Anweisungsausführung zurückgegebenen Ergebnisse zu speichern.
Zeilen 18–20 Nachdem wir nun die obige SELECT-Abfrageanweisung ausgeführt haben, sollten wir ihre Rückgabeergebnisse anzeigen. <c:forEach ist eine Funktion mit Iterationsfunktion in JSTL. Bei der Ausführung geben wir alle zurückgegebenen Datenzeileninformationen über ${result.rowsByIndex} an die Variable ${row} zurück und verwenden dann in Zeile 19 <c: out value="${row[0]}"/> um den Wert in der ersten Datenspalte jeder zurückgegebenen Datenzeile anzuzeigen. Solange Ihre Datentabelle Felder enthält, können Sie auf den Wert in jedem Feld in der Anforderungstabelle zugreifen, indem Sie die Zahl in der Variablen ${row} ändern.
Die Zeilen 21 bis 22 sind HTML-Fußzeilen.
Während Sie JSTL-Anwendungen selbst erstellen, haben Sie vielleicht nicht herausgefunden, wie leistungsfähig sie sind, aber Sie sollten in der Lage sein, die Einfachheit und Effizienz der JSTL-Funktionen zu erkennen ist die Integration einer SQL-basierten Nachrichtenkolumne und wie einfach es ist, Ihre bestehende Website zu integrieren.
Sehr gut, unser Code ist sehr leicht zu verstehen, beispielsweise ein Designer, der ihn lesen und verstehen und möglicherweise einige Änderungen vornehmen kann, zumindest am Seitenlayout.
Wie wir eingangs erwähnt haben, müssen wir die JAR-Dateien in Mysql Connector/J und natürlich JSTL installieren, damit unser JSTL-Code ordnungsgemäß ausgeführt werden kann. Da wir Tomcat, den JSP-Container, verwenden, müssen Sie Ihren eigenen Ordner im Dateiverzeichnis Webapps von Tomcat erstellen und Ihre Dateien Hello.jsp und Continue.jsp in dem von Ihnen erstellten Dateiverzeichnis ablegen. Außerdem müssen Sie einen Ordner namens WEB- erstellen. INF und fügen Sie Ihre Konfigurationsdatei Web.xml ein. Die Datei web.xml lautet wie folgt:
<?xml version="1.0" binding="UTF-8"?>
<!DOCTYPE Web-App
ÖFFENTLICH „-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN“
" http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app />
Als nächstes müssen wir unter WEB-INF ein Unterverzeichnis namens lib erstellen und die folgenden Dateien darin ablegen:
jstl.jar
saxpath.jar
standard.jar
mysql-connector-java-3.0.9-stable-bin.jar (Beachten Sie, dass sich dieser Name abhängig von Ihrer MySQL Connector/J-Version ändern kann)
Alle diese Informationen können Sie im JSTL- oder Tomcat-Handbuch nachlesen, wenn Sie es genau verstehen möchten Wie und warum sie funktionieren, sollten Sie diese Handbücher lesen. Um Ihnen jedoch zu helfen, die Grundoperationen von JSTL schnell zu beherrschen, habe ich das entsprechende Wissen eingeführt.
Wenn Sie andere JSP-Container verwenden, müssen Sie deren entsprechende Handbücher lesen.
So viel, ich möchte noch etwas erklären. Dieser Artikel ist nur eine grundlegende Einführung in die JSTL-Technologie, kein vollständiges Handbuch. JSTL enthält viele funktionsreiche Funktionsverwendungen, die Ihnen helfen, Ihre JSP-Entwicklung auf einfache und schnelle Weise abzuschließen. Ich empfehle Ihnen, einige detailliertere Dokumentationen über JSTL-Funktionen und deren Funktionsweise mit JavaBeans zu lesen dass es die Entwicklungsplattform ist, auf die Sie gewartet haben. Durch das Lesen dieses Artikels sollten Sie in der Lage sein, einige einfache Front-End- und Back-End-Anwendungen auf Basis von SQL-Datenbanken zu erstellen.