1. Grundkenntnisse über ASP
1. ASP ist die Abkürzung von aktiven Serverseiten, einem interpretierten Skriptgebietsschema;
2. ASP benötigt das Windows -Betriebssystem aus, und PWS muss unter 9x installiert werden.
3. Die Skript -Tags für ASP und JSP sind <%%>, während Sie für PHP sie auf mehrere Typen einstellen können.
4. ASPs Kommentarsymbol ist ';
5. Verwenden Sie Add-Ons, um die Funktionen von ASP zu erweitern.
von www.knowsky.com
Beispiel:
HelloWorld_1.asp
<%= Hallo, World%>
Wirkung:
Hallo Welt
HelloWorld_2.asp
<%
für i = 1 bis 10
Antwort.Write Hallo, Welt
nächste
%>
Wirkung:
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
Hallo Welt
HINWEIS: ASP ist unempfindlich;
2. Verwendung von ASP-integrierten Objekten:
Alle integrierten ASP-Objekte unten können verwendet werden, ohne sie speziell im ASP-Skript deklarieren zu müssen.
1. Anfrage:
Definition: Dieses Objekt kann zum Zugriff auf Anforderungsinformationen verwendet werden, die aus dem Browser an den Server gesendet werden.
Satz:
Kekse: Der Wert mit Browser -Keksen enthält
Form: Enthält Werte in HTML -Formfeldern
QueryString: Wert mit Abfragezeichenfolge
Servervariablen: Enthält Werte in Header- und Umgebungsvariablen
Beispiel:
Request_url.asp
<%
'Holen Sie sich die Benutzereingabe und speichern Sie Variablen
user_id = request.queryString (user_id)
user_name = request.queryString (user_name)
»Beurteilen Sie, ob die Benutzereingabe korrekt ist
Wenn user_id = dann
Antwort.write user_id ist null, bitte überprüfen Sie es
Antwort.end
Ende wenn
Wenn user_name = dann
Antwort.write user_name ist null, bitte überprüfen Sie es
Antwort.end
Ende wenn
'Druckvariablen
response.write user_id & <br>
response.write user_name
%>
Wirkung:
Bei Zugriff auf http://10.1.43.238/course/request_url.asp?user_name=J:
User_id ist null, bitte überprüfen Sie es
Beim Zugriff auf http://10.1.43.238/course/request_url.asp?user_name=j&user_id=my_id:
my_id
J
Denken: Wie werden Variablen in URLs übergeben und von ASP -Seiten erhalten?
Request_form.htm
<style type = text/css>
<!-
.Input {Hintergrund-Color: #fffff; : Georgia;
A: Link {Farbe: #1B629C;
A: Hover {Farbe: #ff6600;
A: Besucht {Textdekoration: Keine}
->
</style>
<Center>
<Formular name = outions action = request_form.asp methode = post>
User_id: <Eingabe type = text name = user_id maxLength = 20 class = input> <br> <br>
User_name: <Eingabe type = text name = user_name maxLength = 30 class = input>
</form>
<br> <br>
<a href = javaScript: document.course.submit ();> subine </a>
</center>
Request_form.asp
<%
'Holen Sie sich die Benutzereingabe und speichern Sie Variablen
user_id = request.form (user_id)
user_name = request.form (user_name)
»Beurteilen Sie, ob die Benutzereingabe korrekt ist
Wenn user_id = dann
Antwort.write user_id ist null, bitte überprüfen Sie es
Antwort.end
Ende wenn
Wenn user_name = dann
Antwort.write user_name ist null, bitte überprüfen Sie es
Antwort.end
Ende wenn
'Druckvariablen
response.write user_id & <br>
response.write user_name
%>
Hinweis: Was ist der Unterschied zwischen der Aktion, die Formular, Request_form.asp und Request_url.asp im Quellcode zeigten?
2. Antwort:
Definition: Wird verwendet, um Informationen an den Browser zurückzusenden und dieses Objekt zum Senden von Ausgaben aus dem Skript an den Browser zu senden.
Satz:
Kekse: Fügen Sie Ihrem Browser einen Cookie hinzu
Verfahren:
Ende: Beenden Sie die Skriptverarbeitung
Weiterleiten: Starten Sie den Browser auf eine neue Seite
Schreiben: Senden Sie eine Zeichenfolge an den Browser
Eigentum:
Puffer: Cache An ASP
CacheControl: Der Cache wird vom Proxy -Server gesteuert
ContentType: Gibt den Inhaltstyp der Antwort an
Ausgeläuft: Browser verwendet die relative Zeit, um den Cache zu steuern
ExpiresAbSolute: Browser verwendet absolute Zeit, um den Cache zu steuern
Beispiel:
response_redirect.asp
<%
'Gehen Sie zu Google und schauen Sie sich an
response.redirect http://www2.google.com
Antwort.end
%>
response_cookies.asp
<%
'Set und lesen Cookies
response.cookies (time_now) = now () ()
Antwort.Write Request.cookies (TIME_NOW)
%>
Wirkung:
Bei Zugriff auf http://10.1.43.238/course/response_cookies.asp:
2002-9-1 16:20:40
response_buffer.asp
<%'Antwort.Buffer = True%>
<a href = a> a </a>
<%Antwort.Redirect Request_form.htm%>
Wirkung:
①. Wenn die Pufferfunktion von IIS ausgeschaltet ist, trat ein Fehler beim Zugriff auf diese Seite auf
A
Antwortobjektfehler 'ASP 0156: 80004005'
Kopfball falsch
/course/response_buffer.asp, Zeile 3
Der HTTP -Header wurde an den Client -Browser geschrieben. Jede Änderung von HTTP -Headern muss vor dem Schreiben des Seiteninhalts bestehen.
②. Wenn die Pufferfunktion von IIS ausgeschaltet ist und die Kommentare zur ersten Zeile der Datei entfernt werden, ist die Umleitung von Seite erfolgreich
③. Wenn die Pufferfunktion von IIS eingeschaltet ist, ist die Umleitung von Seiten erfolgreich, unabhängig davon, ob der Kommentar zur ersten Zeile der Datei entfernt wird oder nicht.
3. Server
Definition: Auf dem Server können verschiedene Entitätsfunktionen verwendet werden, z. Kann auch verwendet werden, um andere Objekte zu erstellen.
Verfahren:
CreateObject: Erstellen Sie eine Objektinstanz
HTMlencode: Konvertieren Sie Strings, um spezielle HTML -Zeichen zu verwenden
Mappath: Virtuelle Pfade in physikalische Pfade umwandeln
Urlencode: Strings in URL-codiert umwandeln
SkriptTimeout: Die Anzahl der Sekunden, die ein Skript vor der Beendigung ausgeführt werden darf
Beispiel:
server_htmlencode.asp
<%
'HTML -Encode
response.write server.htmlencode (atime_now)
%>
Wirkung:
atime_now
Beim Anzeigen der Quelldatei wird als: atime_now angezeigt
Denken: Warum ist es nicht so ein Effekt wie atime_now? Was ist los mit der Quelldatei?
server_mappath.asp
<%
'Mappath
response.write server.mappath (server_mappath.asp)
%>
Wirkung:
G: /asp_www/test/course/server_mapath.asp
Denken: Wie kann man den tatsächlichen Weg zum Stammverzeichnis der Website bekommen? Wie bekomme ich den tatsächlichen Weg zu einem Verzeichnis?
server_urlencode.asp
<%
'URL -Enkodierung
response.write server.urlencode (a/time_now)
%>
Wirkung:
a%5ctime%5fnow
4. Anwendung
Definition: Verwendet, um die von den Benutzern gemeinsam genutzten Anwendungsinformationen zu speichern und zu lesen.
Verfahren:
Sperren: Verhindern Sie, dass andere Benutzer auf Anwendungssätze zugreifen
Entsperren: Ermöglicht anderen Benutzern, auf den Anwendungssatz zuzugreifen
Ereignis:
ONEND: Ausgelöst durch Beenden des Netzwerkservers und Ändern der global.asa -Datei
OnStart: Ausgelöst von der ersten Anwendung für eine Webseite in der Anwendung
Beispiel:
application_counter.asp
<%
'Ein einfacher Zähler, der mit der Anwendung hergestellt wurde
Application.lock
Anwendung (Klicks) = Anwendung (Klicks) +1
Application.unlock
Antwort.Write Sie sind die erste & Anwendung (Klicks) und Besucher dieser Website!
response.write <br> <br> Sie sind von & request.servervariables (Remote_Addr)
%>
Wirkung:
Sie sind der erste Besucher dieser Seite!
Sie sind ab 10.1.43.238
Denken: Was sind die Funktionen von Schloss und Freischaltung in diesem Beispiel?
5. Sitzung
Definition: Speichern und lesen Sie spezifische Benutzerkonversationsinformationen und lesen Sie Informationen, z. B. das Speichern von Benutzerzugriffsinformationen auf die Website, und die Informationen gehen nach dem Neustart des Servers verloren.
Verfahren:
HINFEN: Beenden Sie nach der Verarbeitung der aktuellen Seite eine Benutzersitzung
Eigentum:
Zeitüberschreitung: Benutzersitzungsdauer (Minuten)
Ereignis:
ONEND: Außerhalb der Sitzungszeitpunktzeit beantragt der Benutzer nicht mehr, dass die Seite das Ereignis auslöst
OnStart: Ausgelöst durch die erste Anwendung des Benutzers für die Webseite
Beispiel:
Session_counter.asp
<%
'Ein einfacher Zähler, der mit der Sitzung erstellt wurde
Sitzung (Klicks) = Session (Klicks) +1
Antwort.Write Sie sind der erste Besucher dieser Website & Sitzung (Klicks) &!
response.write <br> <br> Sie sind von & request.servervariables (Remote_Addr)
%>
Wirkung:
Sie sind der erste Besucher dieser Seite!
Sie sind ab 10.1.43.238
Denken: Da sowohl Sitzung als auch Anwendung zählen können, was ist der Unterschied zwischen ihnen? Wie fange ich erneut mit dem Zählen, wenn du über 100 bekommen willst?
3. Verwenden Sie ASP, um die Datenbank zu betreiben:
1. Der Unterschied zwischen der Verbindung über ODBC oder OLE?
Es gibt jetzt zwei Möglichkeiten, eine Verbindung zur Datenbank herzustellen. Einerseits kann eine Verbindung unter Verwendung von ODBC erzeugt werden, die mit jeder Datenbank mit einem ODBC -Laufwerk kompatibel ist (d. H. Grundsätzlich alle Datenbanken auf dem Markt).
Welchen Anbieter soll ich verwenden? Verwenden Sie den ursprünglichen OLE DB -Anbieter nach Möglichkeit, da er einen effizienteren Zugriff auf die Daten bietet. Microsoft ersetzt allmählich den ODBC -Standard durch Ole DB und sollte ODBC nur ohne den ursprünglichen OLE DB -Anbieter verwenden.
⑴. Verbindung zum SQL Server mit ODBC herstellen:
①. Konfigurieren Sie ODBC
②. Verbindungscode:
conn_odbc.asp
<%
Setzen Sie conn = server.createObject (adodb.Connection)
'Conn.open dsn = curse_dsn; uid = curse_user; pwd = curse_password; Datenbank = Kurs
Conn.open curse_dsn, curse_user, curse_password
%>
HINWEIS: Wenn die Standarddatenbank als Kurs angegeben ist, ist der obige Code dieselbe. Prämisse ist, dass Course_User operative Berechtigungen in dieser Datenbank hat).
⑵. Verbindung zu SQL Server mit OLE herstellen:
conn_ole.asp
<%
Setzen Sie conn = server.createObject (adodb.Connection)
Conn.open Provider = SQLOLEDB; Datenquelle = 10.1.43.238,2433;
%>
2. Betriebsdatenbank: Verbindung und Datensatzsatz
Verwenden Sie die Verbindung und Datensatz, um die Datenbank zu betreiben, oder verwenden Sie die Verbindung nur, um die Datenbank zu betreiben.
Beispiel:
⑴. Verwenden Sie Verbindungen und Datensätze, um die Datenbank gemeinsam zu betreiben
use_db_1.asp
<%
Setzen Sie conn = server.createObject (adodb.Connection) 'Erstellen Sie ein Objekt, das eine Verbindung zur Datenbank verbindet
conn.open curse_dsn, curse_user, curse_password 'Verwenden Sie dieses Objekt, um eine Verbindung zur Datenbank herzustellen
Setzen Sie rs = server.createObject (adodb.recordSet) 'RecordSet -Objekt erstellen
Rs.open Select * von user_info, conn, 1,1 'Öffnen Sie die Datenbank mit dem Datensatzsatzobjekt öffnen
Wenn Rs.RecordCount> 0, dann gibt es einen Datensatz
response.write user_iduser_name <br>
für i = 1 bis rscordCount 'Loop, um alle Datensätze zu lesen
response.write rs (id) && rs (user_name) & <br>
'Ausgabetreibungsfelder für den Browser
Rs.Movenext 'Zeiger bewegt eine Zeile nach unten
Wenn rs.eof dann die Schleife beenden, wenn der Boden des Datensatzsatzes erreicht ist
nächste
Ende wenn
%>
Wirkung:
User_iduser_name
1ahyi
3test
⑵. Verwenden Sie nur die Verbindung, um die Datenbank zu betreiben:
Use_db_2.asp
<%
Setzen Sie conn = server.createObject (adodb.Connection) 'Erstellen Sie ein Objekt, das eine Verbindung zur Datenbank verbindet
conn.open curse_dsn, curse_user, curse_password 'Verwenden Sie dieses Objekt, um eine Verbindung zur Datenbank herzustellen
conn.execute löschen von user_info
%>
Wirkung:
Alle Daten in der Tabelle user_info werden gelöscht
Denken: Gibt es Unterschiede zwischen den beiden Methoden? In welchen Gelegenheiten werden sie verwendet?
3. Wie verwende ich Transaktionen, gespeicherte Verfahren und Ansichten?
⑴. Mit gespeicherten Verfahren
①. Definieren Sie gespeicherte Verfahren
Prozedur erstellen [output_1]
@sid int output
ALS
Setzen Sie @Sid = 2
Prozedur erstellen [return_1]
(@User_name varchar (40),@Passwort varchar (20))
ALS
Wenn existiert (ID aus user_info auswählen, wobei user_name =@user_name und password =@password)
Rückkehr 1
anders
Rückkehr 0
Prozedur erstellen [user_info_1]
(@User_name varchar (40),@Passwort varchar (20))
ALS
Wählen Sie ID aus user_info, wobei user_name =@user_name und password =@password
Prozedur erstellen [user_info_2]
(@User_name varchar (40),@Passwort varchar (20))
ALS
Setzen Sie XACT_ABORT ein
Transaktion beginnen
Löschen Sie von user_info wobei user_name =@user_name und password =@password
Transaktion begehen
Stellen Sie XACT_ABORT aus
Prozedur erstellen [user_info_3] als
Wählen Sie * aus user_info aus
②. In ASP gerufen
use_proc.asp
<!-#include virtual =/adovbs.inc->
<%
Setzen Sie conn = server.createObject (adodb.Connection)
conn.open curse_dsn, curse_user, curse_password
'Rufen Sie gespeicherte Prozeduren mit zwei Eingabeparametern auf und der Rückgabeaufzeichnung mit RecordSet -Set
'Erstellen Sie die Prozedur [user_info_1]
'(@User_Name varchar (40),@Passwort varchar (20))
'ALS
'Wählen Sie ID aus user_info, wobei user_name =@user_name und password =@password
response.write Normal Calling -Methode: <br>
Setzen Sie rs = server.createObject (adodb.Recordset)
sql = user_info_1 '& request.queryString (user_name) &', '& request.queryString (Passwort) &' '&'
Rs.open SQL, Conn, 1,1
response.write rs (id) & <br>
rs.close
'Verwenden Sie Recordset, um gespeicherte Prozeduren ohne Eingabeparameter aufzurufen, Rückgabe -Datensatz, Sie können RecordCount und andere Attribute verwenden
'Erstellen Sie die Prozedur [user_info_3] als
'Wählen Sie * von user_info aus
response.write <br> Gibt den Datensatzsatz zurück. Sie können RecordCount und andere Eigenschaften verwenden:
SQL = exec user_info_3
Rs.open SQL, Conn, 1,1
für i = 1 bis rscordcount
response.write <br> & rs (user_name)
Rs.Movenext
nächste
rs.close
Setzen Sie Rs = nichts
'Verwenden Sie den Befehl, um gespeicherte Prozeduren mit Ausgabeparametern aufzurufen
'Erstellen Sie die Prozedur [output_1]
'@sid int output
'ALS
'set @sid = 2
response.write <br> <br> Aufrufen gespeicherte Prozeduren mit Ausgabeparametern: <br>
Setzen Sie cmd = server.createObject (adodb.command)
cmd.activeConnection = conn
cmd.commandtext = output_1
CMD.Parameters.Append CMD.CreateParameter (@SID, Adinteger, Adparamoutput)
cmd (@sid) = 10
cmd.execute ()
BBB = CMD (@sid)
response.write bbb & <br>
Setzen Sie CMD = nichts
'Verwenden Sie den Befehl, um gespeicherte Prozeduren mit zwei Eingabeparametern und dem Rückgabewert aufzurufen
'Erstellen Sie die Prozedur [return_1]
'(@User_name varchar (40))
'ALS
'Wenn existiert (wählen Sie ID aus user_info, wobei user_name =@user_name)
'Return 1
'anders
'Return 0
response.write <br> Aufrufen einer gespeicherten Prozedur mit zwei Eingabeparametern und Rückgabewert: <br>
Setzen Sie cmd = server.createObject (adodb.command)
cmd.activeConnection = conn
CMD.CommandType = ADCMDStoredProc
cmd.commandtext = return_1
CMD.Parameters.Append CMD.CreateParameter (@return_value, Adinteger, adparamreturnValue)
CMD.Parameters.Append CMD.CreateParameter (@user_name, Advarchar, Adparaminput, 40)
CMD.Parameters.Append CMD.CreateParameter (@Passwort, Advarchar, Adparaminput, 20)
cmd (@User_name) = tuth
cmd (@password) = yyuyu
cmd.execute ()
rrr = cmd (@return_value)
Antwort.Write RRR
Setzen Sie CMD = nichts
conn.close
Setzen Sie Conn = nichts
%>
Wirkung:
Beim Besuch http://10.1.43.238/course/use_proc.asp?user_name=ahyi&password=tt wird Folgendes angezeigt
Normale Aufrufmethode:
12
Kehren Sie zum Datensatzsatz zurück, Sie können RecordCount und andere Eigenschaften verwenden:
Ahyi
tet
Tuth
Rufen Sie gespeicherte Prozeduren mit Ausgabeparametern auf:
2
Rufen Sie eine gespeicherte Prozedur mit zwei Eingabeparametern und Rückgabewert an:
1
HINWEIS: Wenn keine Parameter in der gespeicherten Prozedur enthalten sind, ist die aufgerufene SQL -Anweisung direkt der Namen des gespeicherten Prozedur, und ein Parameter ist der Parameter des gespeicherten Prozedurnamens. ., Parameter n; .
⑵. Verwenden Sie die Transaktionsverarbeitung
①. ASP eingebettete Transaktionsunterstützung
Beispiel:
Use_transaction_1.asp
<%
'Verwenden von Transaktionen in ASP
Setzen Sie conn = server.createObject (adodb.Connection)
conn.open curse_dsn, curse_user, curse_password
Conn.BeginTrans -Start die Transaktion
sql = löschen von user_info
Setzen Sie rs = server.createObject (adodb.Recordset)
Rs.open SQL, Conn, 3,3
Wenn Conn.Erors.Count> 0 dann einen Fehler gibt, gibt es einen Fehler
Rollback von Conn.Rollbacktrans
Setzen Sie Rs = nichts
conn.close
Setzen Sie Conn = nichts
Response.write -Transaktion fehlgeschlagen und wurde vor der Änderung in den Status zurückgerollt!
Antwort.end
anders
Conn.Committrans 'Commit -Transaktion
Setzen Sie Rs = nichts
conn.close
Setzen Sie Conn = nichts
Antwort. Schreiben Sie die Transaktion war erfolgreich!
Antwort.end
Ende wenn
%>
②. Transaktionen auf Datenbankebene
ich. Erstellen Sie gespeicherte Prozeduren
Prozedur erstellen [user_info_2]
(@User_name varchar (40),@Passwort varchar (20))
ALS
Setzen Sie XACT_ABORT ein
Transaktion beginnen
Löschen Sie von user_info wobei user_name =@user_name und password =@password
Transaktion begehen
Stellen Sie XACT_ABORT aus
ii. In ASP gerufen
Use_transaction_2.asp
<%
Setzen Sie conn = server.createObject (adodb.Connection)
conn.open curse_dsn, curse_user, curse_password
sql = user_info_2 '& request.queryString (user_name) &', '& request.queryString (Passwort) &' '&'
Setzen Sie rs = server.createObject (adodb.Recordset)
Rs.open SQL, Conn, 1,1
Setzen Sie Rs = nichts
conn.close
Setzen Sie Conn = nichts
%>
Diskussion: Die Vor- und Nachteile der beiden Methoden?
⑶. Verwenden von Ansicht
Verwenden Sie nach der Definition der Ansicht in der Datenbank die Ansicht in ASP, als ob sie eine Tabelle verwenden würden
4. Ein Beispiel für eine Datenbank -Paging
db_page.asp
<%
Bei der nächsten Fehleraufnahme als nächstes
Setzen Sie conn = server.createObject (adodb.Connection) 'Erstellen Sie ein Objekt, das eine Verbindung zur Datenbank verbindet
conn.open curse_dsn, curse_user, curse_password 'Verwenden Sie dieses Objekt, um eine Verbindung zur Datenbank herzustellen
Setzen Sie rs = server.createObject (adodb.Recordset)
SQL = SELECT * von user_info order nach id desc
Rs.open SQL, Conn, 1,1
Wenn Rs.RecordCount> 0, dann gibt es einen Datensatz
Rs.PageSize = 2'a maximal 2 Datensätze werden pro Seite angezeigt
'Lassen Sie die Seite von der URL angezeigt werden
Seite = cint (Anfrage (Seite))
'Page Parameter Ausnahmehandling
Wenn Seite = dann Seite = 1
Wenn Seite <1 dann Seite = 1
Wenn Seite> = Rs.PageCount dann Seite = Rs.PageCount
rs.absolutepage = Seite' Die aktuelle Seite ist die Seite, die durch den Parameter der Seite angegeben wurde
für i = 1 bis rs.PageSize'cycle die Datensätze auf der aktuellen Seite gemäß der Größe des PageSize -Parameters
response.write user_id: & rs (id) & <br>
response.write user_name: & rs (user_name) & <br> <br>
Rs.Movenext 'Record Zeiger bewegt sich nach unten
Wenn rs.eof dann die Schleife beenden, wenn der Boden des Datensatzsatzes erreicht ist
nächste
Ende wenn
'STAGE SCHWEISUNGSBUCH
Wenn Seite> 1 dann
Antwort.Write <a href = & request.servervariables (document_name) &? page = 1> Seite 1 </a>
response.write <a href = & request.servervariables (document_name) &? page = & (Seite) &> vorherige Seite </a>
Ende wenn
Wenn Seite <> rs.PageCount dann
response.write <a href = & request.servervariables (document_name) &? page = & (Seite+1) &> nächste Seite </a>
response.write <a href = & request.servervariables (document_name) &? page = & rs.pagecount &> Letzte Seite </a>
Ende wenn
Antwort.Write Seitennummer: & Page &/& rs.pageCount
'Schließen Sie das Objekt und lassen Sie den Speicher frei
rs.close
Setzen Sie Rs = nichts
conn.close
Setzen Sie Conn = nichts
%>
Denken: Welche zusätzlichen Attribute werden während des Paging -Prozesses verwendet?