ASP-Vorlesung 4: Integrierte ASP-Komponenten
Autor:Eve Cole
Aktualisierungszeit:2009-05-30 19:58:14
In den ersten drei Vorlesungen haben wir hauptsächlich die vier von ASP bereitgestellten integrierten Objekte vorgestellt:
Antwortobjekt: Informationen an den Browser senden.
Anforderungsobjekt: Zugriffsinformationen, die vom Browser an den Server gesendet werden (z. B. Abrufen von Formulardaten).
Sitzungsobjekt: Speichert und liest spezifische Benutzerkonversationsinformationen.
Anwendungsobjekt: Speichert und liest Anwendungsinformationen, die von allen Benutzern gemeinsam genutzt werden.
Darüber hinaus gibt es Server-Objekte und ObjectContext-Objekte, die wir in zukünftigen Beispielen kennenlernen werden (Hinweis: Tatsächlich können Sie das erlernte Wissen bereits nutzen, um einen Online-Chatroom zu schreiben, ohne es zu merken). Der Inhalt dieser Vorlesung ist die Verwendung der ActiveX-Serverkomponenten (Komponenten) von ASP.
1. Komponente „Browserfunktionen“:
Wir wissen, dass verschiedene Browser möglicherweise unterschiedliche Funktionen unterstützen. Einige Browser unterstützen beispielsweise Frames, andere nicht. Mit dieser Komponente können Sie die Fähigkeiten des Browsers überprüfen, sodass Ihre Webseite verschiedene Seiten für verschiedene Browser anzeigen kann (z. B. Anzeigen von Webseiten ohne Frame für Browser, die Frame nicht unterstützen). Die Verwendung dieser Komponente ist sehr einfach. Um diese Komponente korrekt verwenden zu können, müssen Sie sicherstellen, dass die Datei Browscap.ini auf dem neuesten Stand ist (tatsächlich sind alle Browser und ihre Funktionen in dieser Datei aufgeführt). Nachdem Sie es selbst geöffnet haben, verstehen Sie es. Andernfalls können die Ergebnisse sehr unterschiedlich sein. Beispielsweise wird IE5.0, der in der zweiten Version von Win98 enthalten ist, im folgenden Beispiel als Netscape angezeigt. Diese Datei befindet sich im Allgemeinen unter „WinntSystem32InetSrv“ auf dem Webserver. Die neueste Version kann von http://www.asptracker.com/ oder http://www.cyscape.com/browscap heruntergeladen werden.
Beispiel: wuf22.asp
<html>
<KÖRPER>
'Hinweis: Die Verwendung von Komponenten ähnelt der von Objekten, Komponenten müssen jedoch vor der Verwendung erstellt werden und es ist nicht erforderlich, vor der Verwendung integrierter Objekte eine Erstellung vorzunehmen.
<%Set BrowsCap=Server.CreateObject("MSWC.BrowserType")%>
Bitte warten......
<P>
<TABLE BORDER=1 CELLPADDING=10>
<TR><TD>Browsertyp</TD><TD><%=BrowsCap.Browser%></TD></TR>
<TR><TD>Browserversion</TD><TD><%=BrowsCap.version%></TD></TR>
<TR><TD>Ob Tabellen unterstützt werden</TD><TD><%=BrowsCap.tables%></TD></TR>
<TR><TD>Ob ActiveX-Steuerelemente unterstützt werden</TD><TD><%=BrowsCap.activexcontrols%></TD></TR>
<TR><TD>Ob JavaApplets unterstützt werden</TD><TD><%=BrowsCap.javaapplets%></TD></TR>
<TR><TD>Ob JavaScript unterstützt wird</TD><TD><%=BrowsCap.javascript%></TD></TR>
<TR><TD>Ob Cookies unterstützt werden</TD><TD><%=BrowsCap.Cookies%></TD></TR>
<TR><TD>Ob Frames unterstützt werden</TD><TD><%=BrowsCap.Frames%></TD></TR>
<TR><TD>Betriebssystem</TD><TD><%=BrowsCap.Platform%></TD></TR>
<TR><TD>Ob VBScript unterstützt wird</TD><TD><%=BrowsCap.vbscript%></TD></TR>
</TABLE>
<%Set BrowsCap = Nothing%>
</BODY>
</HTML>
Hinweis: In diesem Beispiel haben wir auch die CreateObject-Methode des Server-Objekts berührt. Server.CreateObject wird zum Erstellen von ActiveX-Komponenten verwendet, die auf dem Server registriert wurden (Hinweis: Es gibt andere Methoden zum Erstellen von Komponenten). Vergessen Sie jedoch nicht, „Set Object = Nothing“ zu verwenden, um Ressourcen rechtzeitig freizugeben. Dies sollte zur Gewohnheit werden.
2. Dateizugriffskomponente
Die Dateizugriffskomponente besteht aus einem FileSystemObject-Objekt und einem TextStream-Objekt. Mit dem FileSystemObject-Objekt können Sie Verzeichnisse und Dateien erstellen, abrufen und löschen, während das TextStream-Objekt die Funktion zum Lesen und Schreiben von Dateien bereitstellt.
Beispiel wuf23.asp. Betonung: Nur durch Übung kann das Verständnis vertieft werden. Das Üben und Vergleichen der Ergebnisse bei der Programmausführung ist der beste Weg, Programmierkenntnisse schnell zu erlernen.
<%@ Language=VBScript %>
<% Option explizit
' Beachten Sie den absoluten Pfad: C:Inetpubhomeaspwuf23.asp Homepage-Pfad: C:Inetpubhome
Pfad, Datei, FSO, CTF, Str, StrHTML, StrNoHTML dimmen
'Verwenden Sie die CreateObject-Methode, um das FileSystemObject-Objekt FSO zu erstellen
Setze FSO = Server.CreateObject("Scripting.FileSystemObject")
Path = Server.MapPath("test") 'Gibt das physische Verzeichnis von test zurück (absoluter Pfad)
„Was dieses Beispiel betrifft, gibt der folgende Satz genau den gleichen Pfad wie der obige Satz zurück
'Path = Server.MapPath("asptest")
Response.Write Path & „<Br>“
Wenn FSO.FolderExists(Path) = false, dann „Bestimmen Sie, ob der Ordner vorhanden ist.“
FSO.CreateFolder(Path) 'Erstellen Sie einen neuen Ordner
Ende wenn
Datei = Pfad & „asptest.txt“
'Dateivorgang schreiben
Wenn FSO.FileExists(File) = True Then 'Bestimmen Sie, ob die Datei vorhanden ist.'
'TextStream-Objekt CTF erstellen
Set CTF = FSO.OpenTextFile(File, 8, False, 0) 'Öffnen Sie die Datei, siehe Beschreibung für Details
Anders
Setze CTF = FSO.CreateTextFile(File,False, False) 'Neue Datei
Ende wenn
CTF.Write "<P>Die erste Zeichenfolge; " 'Zeichenfolge schreiben
CTF.WriteLine "Zweite Zeichenfolge; " 'Schreiben Sie die Zeichenfolge und fügen Sie ein Zeilenumbruchzeichen hinzu
CTF.Write „Die dritte Zeichenfolge;“
CTF.Close 'Hinweis zum Schließen der Datei
'Dateivorgang lesen
Setze CTF = FSO.OpenTextFile(File, 1,,0)
Do While CTF.AtEndOfStream <> True 'Bestimmen Sie, ob die Datei endet (Schleifenanweisung)
Str = CTF.ReadLine 'Eine Zeile lesen (jedes Mal)
StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf
StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf
Schleife
Response.Write StrNoHTML
Response.Write StrHTML
CTF.Schließen
Set CTF = Nothing 'Das Objekt freigeben
Stellen Sie FSO = Nichts ein
%>
CTF = FSO.OpenTextFile(File, 8, False, 0), der erste Parameter in den Klammern ist der Dateiname; der zweite Parameter ist 8, was bedeutet, dass der Inhalt nach der Originaldatei angehängt wird. Wenn er 1 ist, bedeutet dies, dass er gelesen wird -only, und wenn es 2 ist, wird die Originaldatei neu geschrieben; der dritte Parameter bedeutet, dass die Datei nicht erstellt wird, wenn die angegebene Datei nicht vorhanden ist vorhanden ist, wird die Datei erstellt; der vierte Parameter 0 bedeutet, dass sie im ASCII-Dateiformat geöffnet wird. Wenn er -2 ist, bedeutet dies, dass er im Originalformat geöffnet wird.
CTF = FSO.CreateTextFile(File,False, False), der zweite Parameter false bedeutet, dass die vorhandene Datei nicht überschrieben wird. Wenn er True ist, bedeutet dies, dass die vorhandene Datei überschrieben (OverWrite) wird. Der dritte Parameter false bedeutet, dass das Dateiformat ASCII ist , wenn True bedeutet, dass das Dateiformat Unicode ist.
Die MapPath-Methode des Server-Objekts wandelt den angegebenen virtuellen Pfad in einen realen Dateipfad um. MapPath behandelt die Zeichen „/“ und „“ gleich.
Mit der HTMLEncode-Methode des Server-Objekts können Sie eine bestimmte Zeichenfolge HTML-codieren oder dem Browser ermöglichen, bestimmte Zeichen korrekt anzuzeigen. Im obigen Beispiel wird „<P>“ nicht angezeigt, wenn es nicht codiert ist, sondern vom Browser als HTML-Tag behandelt. Sie können die laufenden Ergebnisse vergleichen.
Tatsächlich ist die Dateizugriffskomponente beim Betrieb von Dateien, Ordnern und Laufwerken relativ leistungsfähig und bietet auch mehr Methoden. Wenn Sie dieses Wissen nutzen müssen, vergessen Sie nicht, es zu verwenden.
Darüber hinaus ist das Schreiben eines Webseitenzählers mittlerweile ein Kinderspiel. Kein Wunder, dass so viele Webseiten kostenlose Zähler anbieten. Wie wäre es damit? Versuchen Sie, selbst einen grafischen Zähler zu schreiben. Sie haben das letzte Wort. (Kleines Geheimnis: Ich habe eine Instanz wuf24.asp auf meiner Homepage)
3. AD Rotator (Werbeumdrehungskomponente)
Was ich heutzutage beim Surfen im Internet am meisten hasse, sind die Werbebanner auf den Homepages anderer Leute, und was mir am meisten gefällt, sind die Werbebanner auf meiner eigenen Homepage. Werbebanner sind überall wie Spam und man kann sich kaum davor schützen. Sie können solchen Müll auch selbst erstellen. Die AD Rotator-Komponente von ASP kann bei jedem Öffnen oder Neuladen einer Webseite zufällig Anzeigen anzeigen. Dieses Beispiel besteht aus drei Teilen:
Routine wuf25.asp
<%@ Language=VBScript %>
<% Option explizit
Dim Adr
'AD Rotator-Objekt erstellen
Setze adr = Server.CreateObject("MSWC.AdRotator")
adr.Border = 2 'Geben Sie die Rahmengröße der Grafikdatei an
adr.Clickable = True 'Gibt an, ob das angezeigte Bild ein Hyperlink ist
adr.TargetFrame = "_blank" 'Legen Sie den Hyperlink fest, ob der Frame-Name angegeben werden soll, z. B.: _TOP _NEW _PARENT
'Rufen Sie die anzuzeigenden Bild- und Hyperlink-Einstellungen ab – eingestellt in der Datei AdrSet.txt
Response.Write adr.GetAdvertisement("AdrSet.txt")
%>
Inhalt von AdrSet.txt (gefolgt von Kommentaren, nicht der Inhalt dieser Datei):
WEITERLEITEN von wuf26.asp Nach dem Klicken auf die Anzeige wird diese von wuf26.asp verarbeitet
WIDTH 468 Breite des Anzeigenbildes
HÖHE 60 Werbebildhöhe
* Trennzeichen
Der Speicherort des Werbebildes, bei dem es sich auch um eine lokale Grafikdatei handeln kann
http://www.163.com/ verweist auf den Link. Wenn kein Hyperlink vorhanden ist, schreiben Sie ein „-“.
NetEase-Textbeschreibung
20 zeigt das relative Gewicht der Werbung, also die Häufigkeit der Anzeige
http://www.sina.com.cn/
sina.com
30
http://www.canon.com.cn/
Kanon
50
In diesem Beispiel gibt es drei Bilder (Bildgröße 468 x 60) und Links. Die Beschreibung jedes Links nimmt vier Zeilen ein. Bei der tatsächlichen Verwendung können Sie der gleichen Methode folgen und weitere Bilder hinzufügen.
<% 'wuf26.asp
URL = Request.QueryString("url")
Response.Redirect(URL)
%>
wuf26.asp ist das einfachste Verarbeitungsprogramm. Sie können hier je nach tatsächlichem Bedarf mehr Code hinzufügen.
Führen Sie es aus und es stellt sich heraus, dass die Verwendung dieser Komponente ebenfalls sehr einfach ist. Sie müssen lediglich Ihre eigene AdrSet.txt-Datei besorgen. Mit dieser Komponente können Sie sogar eine Ad-Exchange-Homepage entwerfen, die mittlerweile voll im Trend liegt.
4. Inhaltsverknüpfungskomponente Offensichtlich bezieht sich diese Komponente auf Links. Wenn Sie die spezifische Verwendung dieser Komponente sofort wissen möchten, ist es meiner Meinung nach zu voreilig. Sie können auch zuerst ein klassisches Beispiel zitieren: Angenommen, Sie lesen a Buch im Internet, Sie dürfen mit den folgenden Links nicht vertraut sein: Kapitel 1, Kapitel 2,..., vorheriges Kapitel, nächstes Kapitel (oder vorherige Seite, nächste Seite) usw. Was wir jetzt tun müssen, ist, wie wir Sprünge zwischen diesen Links einfach und schnell einrichten können.
Erstellen Sie zunächst eine Linklisten-Textdatei, z. B. urllist.txt
wuf23.asp Kapitel 1: Dateioperationen (Dateizugriffskomponente)
wuf28.asp Kapitel 2: Beispiel für die Verwendung der Inhaltsverknüpfungskomponente
wuf22.asp Kapitel 3: Browser-Fähigkeit Komponente Link-URL-Adresse und Beschreibung werden durch die Tabulatortaste getrennt. Das folgende wuf27.asp wird verwendet, um alle Links in urllist.txt aufzulisten.
<% @LANGUAGE = VBScript %>
<% Option Explicit %>
<html><head><title>Nutzung der Content-Linking-Komponente</title></head>
<Körper>
<h2>Inhaltsverzeichnis: Beachten Sie, dass der Hauptlink Kapitel 2 ist. Sie müssen darauf klicken</h2>
<ul>
<%
Dim NextLink, Count
'Inhaltsverknüpfungskomponente erstellen
Setze NextLink = Server.CreateObject("MSWC.NextLink")
'Ermitteln Sie die Anzahl der Links in der Datei urllist.txt
Count = NextLink.GetListCount("urllist.txt")
URL, Dscr, I dimmen
Für I = 1 Zu zählen
url = NextLink.GetNthURL ("urllist.txt", I) 'Hyperlink abrufen
Dscr = NextLink.GetNthDescription ("urllist.txt", I) 'Textbeschreibung abrufen
Response.Write „<li><a href = „““ & url & „““>“ & Dscr & „</a>“ & vbcrlf
Nächste
%>
</ul></body></html>
Nehmen Sie dann wuf28.asp als Beispiel, um zu veranschaulichen, wie automatisch zum vorherigen Kapitel und zum nächsten Kapitel gesprungen wird.
<% @LANGUAGE = VBScript %>
<% Option Explicit %>
<html><head><title>Achten Sie auf diesen Link</title></head>
<Körper>
<p>Hier ist der Text von Kapitel 2......</p>
<% 'Jede Datei enthält den folgenden Satz, um eine automatische Verknüpfung zu erreichen%>
<!--#include file="wuf29.asp"-->
</body></html>
Durch Hinzufügen des letzten Satzes kann ein automatischer Sprung realisiert werden. Der Kern befindet sich in wuf29.asp.
<%
Dim NextLink, Rang
Setze NextLink = Server.CreateObject ("MSWC.NextLink")
„Was ist der aktuelle Link in urllist.txt?“
rank = NextLink.GetListIndex ("urllist.txt")
Response.Write „<hr>“
Wenn (Rang > 1) Dann ist 'Rang = 1, es gibt keine vorherige Seite
Response.Write "|<a href=""" & NextLink.GetPreviousURL("urllist.txt") & """>Vorheriges Kapitel</a>|"
Ende wenn
Wenn (rank < NextLink.GetListCount("urllist.txt")) Then 'rank am Ende liegt, gibt es keine nächste Seite
Response.Write "|<a href=""" & NextLink.GetNextURL("urllist.txt") & """>Nächstes Kapitel</a>|"
Ende wenn
%>
Nachdem Sie dieses Beispiel ausgeführt haben, werden Sie die Rolle dieser Komponente sofort verstehen. Kurz gesagt, es ist nicht erforderlich, auf jeder Seite „vorheriges Kapitel“ und „nächstes Kapitel“ zu schreiben. Dies kann vollständig über wuf29.asp erfolgen . Nicht sehr praktisch? ! Wäre es sonst nicht zu mühsam, wenn Sie den Link manuell ändern würden?
Jetzt sollten Sie verstehen, dass es im Internet eine große Anzahl kostenloser Zähler, kostenloser Message Boards, kostenloser Chatrooms, Werbeaustauschnetzwerke usw. gibt. Ihre Prinzipien sind nichts anderes als das, es besteht also kein Grund, sie anzubeten.