Unter den vielen Websites im Internet werden häufig dynamische Websites verwendet, die auf Webdatenbanken basieren. Eine dynamische Website, die auf einer Web-Netzwerkdatenbank basiert, besteht aus einem Webbrowser als Client-Schnittstelle, einem Datenbankserver zur Informationsspeicherung und einem Webanwendungsserver, der beide verbindet. Die ursprüngliche CGI-Technologie zur Entwicklung dynamischer Websites wurde im Zuge der Weiterentwicklung der Client-Technologie von Webanwendungen nach und nach durch Java-Applets, ActiveX-Steuerelemente, DHTML und JavaScript ersetzt. Diese Technologien haben die Benutzeroberfläche erheblich verbessert, aber als sie versuchten, tiefer zu arbeiten, stießen sie auf Probleme wie Inkompatibilität des Client-Browsers, überlastete Server, langsamen Zugriff und Sicherheitsprobleme. Die JSP-Technologie ist ein goldener Schlüssel zur Lösung dieser Probleme. In diesem Artikel werden hauptsächlich einige technische Probleme bei der Verwendung der JSP-Technologie zum Erstellen dynamischer Websites erörtert.
JSP-Technologie
JSP ist eine Webentwicklungstechnologie, die auf Java Servlet und dem gesamten Java-System basiert. Mit dieser Technologie können fortschrittliche, sichere, schnelle und plattformübergreifende dynamische Websites erstellt werden. Durch das Hinzufügen von Java-Programmfragmenten und JSP-Tags zu herkömmlichen Webseiten-HTML-Dateien entsteht eine JSP-Webseite. Wenn der Webserver eine Anfrage zum Zugriff auf eine JSP-Webseite empfängt, führt er zunächst das Programmfragment aus und gibt dann das Ausführungsergebnis im HTML-Format an den Client zurück. Programmfragmente können Datenbanken betreiben, Webseiten umleiten, E-Mails senden usw. Dies ist die Funktionalität, die zum Aufbau einer dynamischen Website erforderlich ist. Alle Programmoperationen werden serverseitig ausgeführt und nur die Ergebnisse werden an den Client im Netzwerk gesendet, wobei die Anforderungen an den Browser des Clients sehr gering sind. Wie in Abbildung 1 dargestellt, fordert der Benutzer beim Herstellen einer Verbindung zur JSP-Website eine Webseite an, und die JSP-Seite antwortet nur auf die Anforderung, wandelt die Anforderung des Benutzers für die Webseite in eine Datenanforderung um und verarbeitet die Anforderung JavaBean und kapselt die zurückgegebenen Daten in eine HTML-Seite zur Rückgabe an Benutzer.
JSP hat viele Vorteile:
1. Schreiben Sie das Programm einmal und führen Sie es überall aus. Beim Entwurf von JSP wurde die Unabhängigkeit der Anwendungsplattform vollständig berücksichtigt. Basierend auf der Portabilität von Java wird JSP von vielen gängigen Betriebsplattformen unterstützt und kann auf Servern wie Apache, NetScape und IIS ausgeführt werden.
2. Schnelle Ausführung. Die JSP-Seite muss nur einmal kompiliert und in Java-Bytecode konvertiert werden und befindet sich dann im Serverspeicher, wodurch die Antwort auf die JSP-Seite beschleunigt wird. Wenn Sie nicht die Zeit berücksichtigen, die zum ersten Kompilieren der JSP-Seite benötigt wird, ist die Reaktionsgeschwindigkeit von JSP viel schneller als die von ASP.
3. Vorteile von Java. Die JSP-Technologie verwendet die Java-Sprache als Skriptsprache. Plattformübergreifende, ausgereifte, robuste und leicht erweiterbare Java-Technologie erleichtert und vereinfacht die Arbeit von Entwicklern in anderer Hinsicht. Wenn der Verdacht besteht, dass das Windows-System abstürzt, kann Java wirksam verhindern, dass das System abstürzt. Die Java-Sprache zeichnet sich durch die Speicherverwaltung aus, indem sie Methoden zur Verhinderung von Speicherlecks bereitstellt. Darüber hinaus bietet JSP einen robusteren Mechanismus zur Behandlung unerwarteter Ereignisse für Anwendungen, sodass die Vorteile von Java voll ausgeschöpft werden können.
Technische Schwierigkeiten bei JSP
1. Verbindung zur Datenbank herstellen Die
Datenbankverbindung ist der wichtigste Teil einer dynamischen Website. ODBC- oder JDBC-Technologie kann beim Herstellen einer Verbindung zur Back-End-Datenbank verwendet werden. Obwohl ODBC eine Option als herkömmliches Mittel zur Verbindung mit der Datenbank ist, weist ODBC die folgenden schwerwiegenden Mängel auf, die es für JSP-Anfragen inkompetent machen:
(1) ODBC ist eine in der Sprache C implementierte API, die ein lokales C-Programm aus einem Java-Programm aufruft wird verursachen Es bringt eine Reihe von Problemen mit sich, die Sicherheit, Integrität und Robustheit ähneln.
(2) Zweitens wird eine vollständig genaue Implementierung von ODBC von der C-Code-ODBC- in die Java-API-Übersetzung nicht zufriedenstellend sein, da es in Java keine Zeiger gibt und ODBC viele Zeiger verwendet, einschließlich des äußerst fehleranfälligen Nullzeigers „void“. „*“.
(3) In Anbetracht der Plattformportabilität wird die Verwendung von ODBC bei der Entwicklung von JSP-Programmen negative Auswirkungen haben und den Code für die Portabilität ungeeignet machen.
Um die Übertragung des Programms zu vereinfachen und gleichzeitig Sicherheit, Integrität und Robustheit zu gewährleisten, ist es besser, JDBC für die Verbindung mit der Datenbank zu verwenden. JDBC ist eine Java-API, die zum Ausführen von SQL-Anweisungen verwendet werden kann. Sie besteht aus einigen in Java geschriebenen Klassen und Schnittstellen, die es Entwicklern ermöglichen, komplette Datenbankanwendungen in reiner Java-Sprache zu schreiben. Durch den Einsatz von JDBC können SQL-Anweisungen problemlos an nahezu jede Datenbank übertragen werden. Mit anderen Worten: Sie müssen nicht ein Programm schreiben, um auf Sybase zuzugreifen, ein anderes Programm, um auf Oracle zuzugreifen, und ein anderes Programm, um auf den SQL Server von Microsoft zuzugreifen. Mit JDBC geschriebene Programme können SQL-Anweisungen automatisch an das entsprechende Datenbankverwaltungssystem übermitteln.
Wenn ein lokales Datenbankprogramm eine Datenbank wie Microsoft Access verwendet, kann die von Sun entwickelte JDBC-ODBC-Brücke verwendet werden. Durch Ausleihen dieser Technologie kann ein JSP-Programm mit einem ODBC-Treiber auf eine Datenbank zugreifen. Dadurch bleiben nicht nur die Vorteile von JDBC erhalten, sondern es kann auch die von Microsoft bereitgestellte ODBC-Datenquelle für die Verbindung mit Access verwendet werden. Unabhängig davon, um welche Art von Datenbank es sich bei der anderen Partei handelt, können Sie, solange eine ODBC-Schnittstelle vorhanden ist, direkt über die JDBC-ODBC-Brücke eine Verbindung zur Datenbank herstellen, ohne den entsprechenden Programmcode aufgrund von Änderungen in der Back-End-Datenbank zu ändern. Erreichen einer perfekten Trennung zwischen der Anwendungsschicht und der Datenbankschicht. Wenn Sie die Back-End-Datenbank auf MySQL ändern müssen, müssen Sie nur den MySQL-Treiber in der ODBC-Datenquelle installieren und können die MySQL-Datenbank direkt verwenden.
2. Bei der Implementierung einer Website mit integrierten Komponenten
kann aufgrund objektiver Anforderungen die integrierte Komponente Request verwendet werden, um jede Verbindung zum Server zu erfassen, um lokale LAN-Benutzer leicht von Remote-Benutzern zu unterscheiden und entsprechende Berechtigungen bereitzustellen. Dabei wird die IP-Adresse des Nutzers abgeglichen und die entsprechenden Berechtigungen erteilt. Auf diese Weise können Benutzer innerhalb dieses lokalen Netzwerks alle öffentlichen und nicht öffentlichen Ressourcen auf der Website nutzen. Die bestehende Methode kann auch verbessert werden, indem verschiedene IP-Adressen in die Datenbank eingegeben und verschiedenen IP-Adressen unterschiedliche Berechtigungen gewährt werden, um die Nutzung der Website-Ressourcen durch den Benutzer vollständig zu kontrollieren.
Die Aufrechterhaltung des Sitzungsstatus ist ein Problem, mit dem Webanwendungsentwickler konfrontiert sind. Um festzustellen, ob der Benutzer noch online ist, wird die integrierte Sitzungskomponente verwendet. Indem jedem angemeldeten Benutzer eine Sitzungsvariable zugewiesen wird, können die vom Benutzer verwendeten Ressourcen geschlossen werden, nachdem der Benutzer die Website abnormal verlassen hat Speicher und Verbesserung der Serverleistung.
Die Cookie-Klasse wird auch in JSP bereitgestellt und ihr Konstruktor verfügt über zwei Parameter, die den Namen und den Wert des Cookies darstellen. Die Cookie-Klasse bietet verschiedene Methoden zum Festlegen der Attribute des Cookies. Beispielsweise kann die setMaxAge-Methode zum Festlegen der Lebensdauer des Cookies verwendet werden. Wenn die Überlebenszeit ein negativer Wert ist, bedeutet dies, dass der Browser das Cookie schließt und verschwindet. Wenn die Überlebenszeit 0 ist, bedeutet dies, dass das Cookie gelöscht wird. Wenn die Überlebenszeit eine positive Zahl ist, bedeutet dies, wie viele Sekunden das Cookie beträgt Cookie existiert. Cookies können verwendet werden, um das Konto und das Passwort des Benutzers vorübergehend zu speichern, und JSP kann sie jederzeit lesen, um die Legitimität des Benutzers zu überprüfen. Der Browserstatus des Benutzers kann in einem Cookie gespeichert werden, und wenn der Benutzer das nächste Mal die Webseite besucht, zeigt der JSP dem Browser eine personalisierte Seite an.
3. Konvertieren Sie die Unicode-Kodierung.
Beim Debuggen vieler JSP-Seiten sind Probleme aufgetreten, die durch die Konvertierung der chinesischen Zeichenkodierung und der Unicode-Kodierung verursacht wurden. Beispielsweise sind die chinesischen Zeichen auf der JSP-Seite alle verstümmelt Die JSP-Seite kann keine chinesischen Zeichen normal anzeigen, JSP kann keine im Formular übermittelten chinesischen Zeichen empfangen, das Lesen und Schreiben der JSP-Datenbank kann keinen korrekten Inhalt erhalten usw. Dies liegt daran, dass der Großteil der Kernzeichenverarbeitung von Software mit internationalen Merkmalen darauf basiert Wenn die Software ausgeführt wird, werden die entsprechenden lokalen Zeichenkodierungseinstellungen durch die Einstellung „Gebietsschema/Sprache/Codeseite“ bestimmt und lokale Zeichen entsprechend verarbeitet Dies kann während des Verarbeitungsprozesses erreicht werden, und sogar zwei verschiedene lokale Zeichen werden mithilfe von Unicode als Vermittler zwischen Zeichensätzen konvertiert. Diese Methode wird in der Netzwerkumgebung weiter ausgeweitet, und alle Zeicheninformationen an beiden Enden des Netzwerks müssen entsprechend den Zeichensatzeinstellungen auch in akzeptable Inhalte umgewandelt werden.
Da der Standardzeichensatz von IE GB2312 ist, ist der Standardzeichensatz von Windows GBK und der Standardzeichensatz von Java ist Unicode. Daher wird die von GBK oder Unicode erhaltene Seite direkt im GB2312-Zeichensatz angezeigt verstümmelt sein. Die Java-Sprache verwendet Unicode zur Verarbeitung von Zeichen, aber aus einer anderen Perspektive kann auch Nicht-Unicode in Java-Programmen verwendet werden. Wichtig ist, sicherzustellen, dass die chinesischen Zeicheninformationen beim Ein- und Ausstieg des Programms nicht verzerrt werden. Wenn ISO-8859-1 vollständig zur Verarbeitung chinesischer Zeichen verwendet wird, können korrekte Ergebnisse erzielt werden. Nach der Konvertierung und der erzwungenen Anzeige des Webseiten-Zeichensatzes im GB2312-Zeichensatz können chinesische Zeichen normal angezeigt werden.