Saat Anda menulis aplikasi sisi server menggunakan ASP, Anda harus mengandalkan komponen ActiveX ke fungsi aplikasi web yang kuat, seperti: Anda harus terhubung ke database, mengoperasikan database secara online, dll.
Dalam dua artikel sebelumnya, penulis memperkenalkan metode penggunaan rotator iklan, akses database dan komponen lainnya.
1. Komponen kemampuan browser sudah terkenal, dan tidak semua browser mendukung semua aspek teknologi internet saat ini. Ada beberapa fitur yang didukung beberapa browser tetapi yang lain tidak, seperti: kontrol ActiveX, aliran gambar, HTML dinamis, flash, dan program skrip. Menggunakan komponen kemampuan browser ASP, Anda dapat merancang halaman web pintar untuk menyajikan konten dalam format yang sesuai dengan kinerja browser. Komponen kemampuan browser dapat membuat objek browserType yang menyediakan skrip pengguna dengan deskripsi fungsional browser web klien. Alasan mengapa komponen ini dapat mengenali versi browser klien terutama karena ketika browser klien mengirimkan permintaan halaman ke server, ia akan secara otomatis mengirim judul http agen pengguna, yang merupakan karakter ASCII yang menyatakan browser dan versinya . rangkaian. Komponen kemampuan browser memetakan agen pengguna ke browser yang ditunjukkan dalam file browscap.ini dan mengidentifikasi browser klien melalui properti objek browserType. Jika objek tidak dapat menemukan item yang cocok dengan judul dalam file browser.ini, properti browser default akan digunakan. Jika objek tidak memiliki kecocokan yang ditemukan dan pengaturan browser default ditentukan dalam file browser.ini, ia mengatur setiap properti ke string yang tidak diketahui. Secara default, file browser.ini disimpan di windows/system/inersrv (jika 95/98+pws4) atau nt/system32/inersrv (jika nt) direktori, Anda dapat mengedit file teks ini sendiri untuk menambahkan memodifikasi file oleh Atributnya sendiri atau berdasarkan file pembaruan versi browser terbaru yang dirilis. Silakan lihat proses checkCookie () berikut, gunakan atribut cookie dari objek Browsercap untuk menentukan apakah browser klien mendukung cookie dan mengembalikan informasi:
< %
Sub checkcookie ()
Set BrowserCap = Server.CreateObject (MSWC.BrowserType)
Jika browsercap.cookie = true maka
Response.write Browser Anda mendukung cookie!
kalau tidak
Response.write Maaf, browser yang Anda gunakan tidak mendukung cookie!
akhiri jika
akhir sub
%>
Untuk informasi lebih lanjut tentang komponen kemampuan browser, lihat desain situs web dinamis Eighteen Martial Arts-Asp (2).
2. Komponen akses file jika Anda cukup tua di jaringan, Anda harus melihat buku tamu CGI di era Dinosaurus, yang merupakan prototipe paling awal dari buku tamu web. Pada saat itu, sangat sulit untuk terhubung ke database backend server dalam aplikasi web berbasis internet, sehingga informasi historis dalam buku tamu tidak disimpan dalam database backend seperti sekarang ini. Jadi di mana data ini disimpan? Jawabannya adalah file teks. Informasi pelanggan dapat disimpan, tetapi menulis program CGI seperti itu sangat rumit.
#!/USR/LOCAL/BIN/Perl
# Perl Lokasi Satu Server Anda
Cetak tipe konten: teks/polos/n/n;
if ($ env {'request_method'} eqpost) {
baca (stdin, $ buffer, $ env {'content_length'});
} elsif ($ env {'request_method'} eqget) {
$ buffer = $ env {'query_stirng'};
}
@pasangan = split (/&/, $ buffer);
foreach $ pair (@Pairs) {
($ name, $ value) = split (/=/, $ pair);
$ value = ~ tr/+//;
$ value = ~ S/%([AF AF 0-9] [AF AF 0-9])/PACK (C, HEX ($ 1))/EG;
$ Form {$ name} = $ value;}
$ file_name = Guestbook.txt; #File Name
#Konten spesifik
buka (file, >> $ file_name) || kesalahan die dalam membuka file;
Cetak waktu catatan file: $ date /n /n;
Cetak Nama File: $ Form {'Name'};
Cetak Unit File: $ Form {'Perusahaan'}/n;
Cetak File Telepon: $ Form {'Telepon'}
Cetak alamat file: $ form {'alamat'}/n;
Cetak Kode Zip File: $ Form {'Zip'}
Cetak Alamat Email File: $ Form {'Email'}/n;
Cetak Komentar Pengembalian File: $ Form {'Konten'}
tutup (file)
Anda dapat merasakan bahwa dibandingkan dengan ASP, program CGI jenis ini lebih buruk dalam keterbacaan dan operabilitas. Maka Anda harus ingin bertanya apakah ASP juga dapat menulis file secara langsung di server? Jawabannya tentu saja ya. Tetapi teman -teman pintar mungkin berpikir bahwa karena hubungan antara ASP dan database Web sangat nyaman, mengapa kita perlu menulis informasi pelanggan dalam file teks? Memang, untuk aplikasi web umum seperti buku tamu dan BBS, kami tidak dapat mengganti database dengan menulis file teks dalam hal efisiensi eksekusi program atau kemudahan penggunaan, tetapi dalam beberapa aplikasi web menulis file teks di lapangan adalah standar dan standar dan a Metode yang relatif nyaman dibandingkan dengan database. Jika Anda terbiasa dengan NT, Anda harus tahu bahwa NT memiliki mekanisme keamanan yang sangat kuat, yang secara otomatis dapat menyimpan hampir semua operasi server dan informasi koneksi dalam file dengan nama akhiran .log Dapat digunakan di web untuk merekam beberapa informasi login pelanggan. Program berikut menggunakan fitur ASP membaca dan menulis file teks untuk membuat fungsi yang secara otomatis merekam catatan pidato setiap pengguna dalam program BBS Web.
< %
Set FS = CreateObject (Scripting.FilesystemObject)
Forreading = 1
'Buka file dalam mode read-only. File ini tidak dapat ditulis.
Forprespending = 8
'Buka file dan tulis di akhir file.
Tristateusedefault = -2
Tristatetrue = -1
TristateFalse = 0
'------------------------------
servermap = server.mappath (/bbs/log/)
'Pemetaan Sistem Jalur Fisik
temp = servermap &/& tahun (tanggal) & bulan (tanggal) &/
'Dapatkan jalur fisik dan waktu sistem dan gunakan ini sebagai jalur fisik yang disimpan dalam file log
Jika bukan Fs.Folderexists (temp) maka
fs.createFolder (temp)
akhiri jika
'Periksa apakah folder itu ada, jika tidak, itu akan dibuat secara otomatis
Syslog redup
redup tempname
Tempname = Tanggal
Syslog = Temp & Tempname & .log
'Nama file adalah e:/bbs/log/bulan/bulan hari.log
li = user &&& now && request.serverVaribles (remote_addr) && tempfile &&& letter && title
Format Catatan File Log adalah: Nama Pengguna & Pengiriman Waktu & IP Pengguna IP & Path File & Area Pesan & Judul Surat
Jika fs.fileexists (syslog) maka
Set SS = fs.opentextFile (syslog, forpinging, true)
kalau tidak
Set ss = fs.createTextFile (syslog, forwriting, false)
akhiri jika
'Periksa apakah ada file log.
SS.WriteLine (l
Saya)
ss.close
'------------------------------------------------- -------------------------------------------------- --------------------------
%>
Jika Anda tidak sepenuhnya memahami program di atas, harap dengarkan instruksi penulis. Komponen akses file menyediakan metode dan properti yang dapat digunakan untuk mengakses sistem file komputer. Kami dapat menggunakan komponen akses file untuk membuat objek fileSystemObject. Setelah objek dibuat, Anda dapat mengakses file melalui itu. Ada dua metode yang paling umum digunakan untuk objek fileSystemObject, satu digunakan untuk membuat file, dan yang lainnya digunakan untuk membuka dan membaca dan menulis file teks. Metode CreateTextFile memperoleh nama file yang Anda tentukan dan membuat file tersebut mengembalikan objek TextStream.
Set ObjTextStream = FilesystemObject.CreateTextFile (fileName, [Overwrite], [Unicode])
Penulis akan menjelaskan parameter metode CreateTextFile di bawah ini
1. Nama FileN A String yang berisi nama jalur file dapat berupa nama jalur lengkap file, termasuk nama drive dan nama direktori, atau bisa hanya nama file. Di direktori root situs.
2. Kuantitas Boolean. Nama akan dihapus.
3. Parameter opsional Unicode. Nilai boolean menunjukkan apakah akan membuat file dalam format file Unicode atau ASCII. Nilai ini benar jika file dibuat dalam format file unicode, dan false jika file dibuat dalam format file ASCII. Jika bagian ini dihilangkan, file ASCII diasumsikan dibuat.
Dalam program sebelumnya, kami menggunakan SS = fs.createTextFile (syslog, forwriting, false) untuk membuat file dan menulis file ketika file log tidak ada.
Berbeda dengan metode CreateTextFile, metode OpenTextFile digunakan untuk mendapatkan nama file yang Anda tentukan dan buka file. Sehingga Anda dapat mengoperasikan file setelah dibuka. Sintaks dari metode OpenTextFile adalah sebagai berikut:
Atur objTextStream = FilesystemObject.opentextFile (fileName, [iomode], [buat], [format])
Parameternya adalah sebagai berikut:
1. Nama file adalah variabel yang diperlukan, sama seperti nama file createTextFile
2. Konstanta opsional IOMODE, dengan nilai sebagai salah satu dari dua konstanta berikut untuk melakukan forreading atau forpending.
3. Buat kuantitas boolean opsional, tentukan operasi apa yang dilakukan jika file yang ingin Anda buka tidak ada. Jika salah, pesan kesalahan akan dihasilkan ketika file tidak ditemukan.
4. Format nilai opsional, Anda dapat memilih tiga nilai tristate untuk menentukan format file, masing -masing.
Setelah membuka atau membuat file teks, Anda mendapatkan objek TextStream, yang memiliki kursor, seperti kursor dalam program pengolah kata, menunjukkan di mana karakter yang akan diketik akan muncul, dan juga menunjukkan lokasi karakter yang Anda inginkan untuk membaca. Anda tidak dapat membuat objek TextStream melalui CreateTObject.
Properti dan metode objek TextStream tercantum di bawah ini
TextStream.A
Kuantitas Boolean Baca-Hanya Cenderung, ketika kursor berada di akhir baris saat ini, nilainya benar, jika tidak, itu salah
TextStream.atendofstream kuantitas boolean hanya, jika kursor berada di akhir aliran, nilainya benar, jika tidak itu salah
TextStream.COLUMN BAGI-HANYA INTEGER, Hitung Jumlah Karakter Dari Awal Garis ke Posisi Kursor Saat Ini
TextStream.line Integer Read-only Menunjukkan nomor baris baris di seluruh file di mana kursor berada
TextStream.close () menutup aliran dan file teks yang sesuai
TextStream.read (NUM) menentukan bahwa sejumlah karakter dibaca dari file teks mulai dari posisi kursor saat ini.
TextStream.readall () Membaca seluruh aliran menjadi string
TextStream.readline () Membaca seluruh baris karakter menjadi string
TextStream.Write (Teks) Tulis string ke stream
TextStream.WriteLine () Menulis string teks ke aliran
TextStream.skip (num) dalam aliran, gerakkan posisi kursor dengan sejumlah panjang string tertentu
TextStream.skiplines () dalam aliran, pindahkan kursor ke sejumlah baris
TextStream.WriteBlank menulis sejumlah garis kosong ke aliran
baris (num)
Saya percaya semua orang dapat merasakan fungsi yang kuat dari komponen akses file ASP. Ke server jarak jauh, baca file melalui komponen akses file, dan secara otomatis menghasilkan halaman HTML baru, tanpa harus bekerja keras untuk memperbarui file HTML satu per satu. Jika Anda tertarik, Anda dapat menggunakan komponen akses file ASP untuk menulis generator HTML sepenuhnya otomatis Anda sendiri untuk sepenuhnya menikmati perasaan lanjutan dan mudah mempertahankan situs web.