Empfohlen: Über die Trennung von ASP -Code und Seite Um Wartungsschwierigkeiten zu vermeiden, die durch das Missverständnis des ASP -Programms TML -Code verursacht werden, führt dieser Artikel eine Methode ein, mit der Vorlagen zu trennen und Seiten trennen, um die Programmierung zu vereinfachen. Bei der Verwendung von ASP zum Erstellen einer Site wird häufig eine ASP -Datei angezeigt, Programmcode und HTM
Das Konvertieren von dynamischen Seiten zum Generieren statischer HTML -Dateien, z. Wenn Sie auf die Rezeption zugreifen, wird sie vom Datenzugriff getrennt, um den Druck auf den Datenbankzugriff zu lindern und die Öffnung von Webseiten zu beschleunigen.
Natürlich hat alles seine Vor- und Nachteile. Das Generieren von HTML -Seiten verbraucht unsichtbar viel Speicherplatz, um diese statischen Dateien zu speichern. Zusätzlich zum Lesen und Schreiben der Datenbank während des Bearbeitungsprozesses müssen Sie auch die Serverdiskette lesen und schreiben. Änderungen an Seitenstilen müssen alle HTML -Dateien usw. regenerieren.
Beispielsweise können viele Suchmaschinen eine Liste der Website -Seitenadressen einreichen. Die Einbeziehung dynamischer Dateien ist kein Problem mehr (wie Google Sitemap). Wir müssen die Gewinne und Verluste alleine messen und erfassen, aber egal was passiert, wir müssen noch wissen, wie man arbeitet. Hier werde ich die Artikel anderer Menschen zitieren, um mehrere Ideen für die allgemeine Generation als Referenz zu erklären.
1. Das folgende Beispiel verwendet FSO direkt, um HTML -Code in eine Datei zu schreiben und dann ein .html -Dateiformat zu generieren. Dies ist der primitivste. Der Vorteil ist, dass es einfach ist und der Nachteil ist, dass die Seitenänderung unpraktisch ist. Der Ort, den ich normalerweise verwende, besteht darin, die gesamte Site -Parameterdatei zu generieren. (Normalerweise werden die Website wie Titel, Name usw. in der Datenbank gespeichert. Ich generiere config.asp, um diese Variablenaufrufe zu speichern, um häufigen Zugriff auf die Datenbank zu vermeiden.)
| Das Folgende ist der zitierte Inhalt: <% Dateiname = test.htm Wenn Anfrage (Körper) <> dann Setzen Sie fso = server.createObject (scripting.FilesystemObject) Set htmlwrite = fso.createTextFile (server.mappath (& Dateiname &)) htmlwrite.write < html> < head> < title> & request.form (title) & </title> </head> htmlwrite.write < body> Ausgangstitel Inhalt: & require.form (title) & < br/> Ausgangskörperinhalt: & Request.Form (Körper) & </body> </html> htmlwrite.close Fout setze = nichts Setzen Sie fso = nichts Ende wenn %> < Formularname = Formmethode = post action => < Eingabename = Titelwert = Titelgröße = 26> <BR> < textarea name = body> body </textarea> <BR> <BR> < Eingabetyp = NAME Senden = value = generieren html> </Form> |
2. Es ist jedoch sehr unpraktisch, eine HTML -Datei gemäß der obigen Methode zu generieren. Die zweite Methode besteht darin, die Template -Technologie zu verwenden, um den Wert des speziellen Code in der Vorlage durch den Wert des Formulars oder Datenbankfelds zu ersetzen, die Vorlagenfunktion zu vervollständigen und HTML -Dateien mit allen schließlich ersetzten Vorlagencodes zu generieren. Diese Technologie wird häufiger eingesetzt und die meisten CMS verwenden diese Methode.
| Das Folgende ist der zitierte Inhalt: Vorlage.htm '// Vorlagendatei < html> < Kopf> < Titel> $ title $ von cuoxin.com </title> </head> < Körper> $ body $ </Körper> </html> TestTemplate.asp '// HTML generieren <% Dim FSO, htmlwrite Dimer Strtitle, Strcontent, Strout '// Erstellen Sie ein Dateisystemobjekt Setzen Sie fso = server.createObject (scripting.FilesystemObject) '// Öffnen Sie die Webvorlagendatei und lesen Sie den Vorlageninhalt durch Setzen Sie htmlwrite = fso.opentextFile (server.mappath (template.htm)) strout = f.readall htmlwrite.close Strtitle = Der generierte Webseitenentitel StrContent = der generierte Webseiteninhalt '// Ersetzen Sie die Tags in der Vorlage durch echte Inhalte strout = ersetzen (stout, $ title $, strtitle) Strout = Ersetzen (Strout, $ body $, StrContent) '// Erstellen Sie die statische Seite, die generiert werden soll Setzen Sie htmlwrite = fso.createTextFile (server.mappath (test.htm), true) '// Schreiben Sie Inhalte auf die Webseite htmlwrite.writeLine strout htmlwrite.close Antwort.Write Die statische Seite wurde erfolgreich generiert! '// das Dateisystemobjekt freigeben Setzen Sie htmlwrite = nichts Setzen Sie fso = nichts %> |
3. Die dritte Methode besteht darin, XMLHTTP zu verwenden, um den von der dynamischen Seite generierten HTML -Inhalt zu erhalten und dann adodb.stream oder scripting.FilesystemObject zu verwenden, um sie in eine HTML -Datei zu speichern. Finden Sie einen Code, um HTML für XMLHTTP zu generieren.
| Das Folgende ist der zitierte Inhalt: <% 'Gemeinsame Funktionen '1. Geben Sie die Adresse der URL -Zielseite ein, und der Rückgabewert Gethttppage ist der HTML -Code der Zielwebseite Funktion Gethttppage (URL) Dim Http Setzen Sie http = server.createObject (msxml2.xmlhttp) Http.open bekommen, url, falsch Http.send () Wenn http.readystate <> 4 dann Ausgangsfunktion Ende wenn getttppage = byTestObstr (http.responsebody, gb2312) Setzen Sie http = nichts Wenn err.number <> 0 dann err.clear Endfunktion '2. Konvertieren Sie Lanma, rufen Sie direkt eine Webseite mit chinesischen Zeichen mit XMLHTTP an. Funktion byTestObstr (Körper, cset) Dimer Objstream Setzen Sie objstream = server.createObject (adodb.stream) objstream.type = 1 objstream.mode = 3 objstream.open objstream.write Body objstream.position = 0 objstream.type = 2 objstream.charset = cset ByTestObstr = objstream.readText objstream.close objstream einstellen = nichts Endfunktion txturl = server.mappath (../ index.asp) STEXT = Gethttppage (txturl) Set FileObject = server.createObject (scripting.filesystemObject) Dateiname = ../index.htm Setzen Sie OpenFile = FileObject.opentextFile (Server.Mappath (Dateiname), 2, true) 'True wird von selbst erstellt, wenn es nicht vorhanden ist OpenFile.WriteLine (STEXT) Setzen Sie OpenFile = nichts %> < Skript> Alarm (statische Webseitengenerierung ist abgeschlossen); Geschichte.back (); </script> |
Zusammenfassend sind diese drei Methoden die am häufigsten verwendeten Methoden zur Generierung von HTML -Dateien. Ich bevorzuge es, die dritte Methode zu verwenden, da die Seitenänderungen sehr bequem sind. Auch wenn sich die dynamische Seite ändert, ist sie gut. Verwenden Sie einfach XMLHTTP, um es erneut zu lesen und zu generieren.
Teilen: Cache -Kompatibilitätsdesign für Webanwendungen Nachdem der Proxy bestanden hat, kann der Server, da eine Zwischenschicht zwischen dem Client und dem Dienst hinzugefügt wird, die IP des Clients nicht direkt und die serverseitige Anwendung nicht direkt über die Weiterleitungsadresse direkt zum Client zurückkehren. In den HTTP -Header -Informationen über Weiterleitungsanforderungen wird http_x jedoch hinzugefügt