Saat ini, website teman perlu membuat website statis, namun terkadang akan ada masalah saat membuat website statis. Kami telah mengumpulkan beberapa metode, dan Anda dapat memilih sesuai dengan kebutuhan website Anda. 1. Dua metode sederhana untuk menghasilkan halaman rumah statis di ASP
Mengapa menghasilkan halaman beranda statis?
1. Jika halaman beranda Anda banyak membaca database, kecepatannya sangat lambat dan memakan banyak sumber daya server. Tentunya dengan menggunakan halaman statis kecepatan aksesnya jauh lebih cepat
2. Mudah ditemukan oleh mesin pencari
3. Jika ada masalah pada program, halaman beranda dapat diakses.
4. Masih banyak lagi yang lain, pikirkan sendiri :)
Metode aplikasi:
Jika beranda Anda adalah Index.asp, Anda dapat membuat Index.htm (urutan akses default harus Index.htm, Index.asp). Dengan cara ini, ketika pengunjung mengunjungi website Anda untuk pertama kalinya, dia membuka index.htm. Anda dapat membuat link di halaman beranda website menjadi index.asp, sehingga ketika Anda mengklik link di halaman beranda dari halaman mana pun di situs web, akan muncul index.asp. Hal ini menjamin ketepatan waktu pembaruan informasi (toh , index.htm perlu diperbarui secara manual setiap saat).
Metode satu:
Sertakan langsung file beranda dalam kotak teks formulir, kirimkan kode beranda sebagai data, lalu buat halaman statis.
Kodenya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
<%
'------------------------------------------------ - ---------
'Gunakan pengiriman formulir untuk menghasilkan kode untuk laman beranda statis
'Pastikan ruang Anda mendukung FSO dan memiliki lebih sedikit konten kode di beranda
'------------------------------------------------ - ---------
konten redup
konten=Potong(Permintaan.Formulir(konten))
jika konten<> maka
panggil makeindex()
berakhir jika
sub makeindex()
Setel Fso = Server.CreateObject(Scripting.FileSystemObject)
Filen=Server.MapPath(index.htm)
Setel Site_Config=FSO.CreateTextFile(Filen,benar, Salah)
Site_Config.Tulis konten
Site_Config.Tutup
Tetapkan Fso = Tidak Ada
Response.Write(<script>alert('Beranda berhasil dibuat!')</script>)
sub akhir
%>
<nama formulir=metode formulir1=tindakan posting=>
<nama area teks=konten>
<!-- #i nclude file=index.asp -->
</area teks>
<br>
<tipe input=nama kirim=Kirim nilai=Kirim>
</bentuk>
kekurangan:
1. Jika halaman beranda menyertakan tag <@ ..>, kesalahan akan muncul.
2. Jika kode beranda terlalu panjang, maka tidak dapat dikirimkan menggunakan formulir (ada batasan tertentu panjang data formulir).
Larutan:
1. Hapus tag <@> di index.asp
2. Gunakan eWebEditor untuk mengirimkan dan mendukung data besar (dapat disegmentasi secara otomatis)
keuntungan:
Konten dapat dimodifikasi secara real time saat dibuat.
Metode dua:
Langsung gunakan XMLHTTP untuk mendapatkan kode index.asp
Copy kode kodenya sebagai berikut:
<%
'------------------------------------------------ - ---------
'Gunakan XMLHTTP untuk menghasilkan kode halaman beranda statis
'Curl adalah alamat beranda Anda, pastikan ruang Anda mendukung FSO
'------------------------------------------------ - ---------
redup membaca, Keriting, konten
Keriting=http://www.xx0123.com/index.asp
baca=dapatkanHTTPage(Ikal)
jika dibaca<> maka
isi=baca
panggil makeindex()
berakhir jika
sub makeindex()
Setel Fso = Server.CreateObject(Scripting.FileSystemObject)
Filen=Server.MapPath(index.htm)
Setel Site_Config=FSO.CreateTextFile(Filen,benar, Salah)
Site_Config.Tulis konten
Site_Config.Tutup
Tetapkan Fso = Tidak Ada
Response.Write(<script>alert('Beranda berhasil dibuat!')</script>)
sub akhir
Fungsi getHTTPHalaman(url)
redupkan http
atur http=Server.buat objek(Microsoft.XMLHTTP)
Http.buka GET,url,false
Http.kirim()
jika Http.readystate<>4 maka
fungsi keluar
berakhir jika
getHTTPPage=bytesToBSTR(Http.responseBody,GB2312)
atur http=tidak ada
jika err.number<>0 maka err.Clear
Fungsi akhir
Fungsi BytesToBstr(tubuh,Cset)
objekstream redup
setel objstream = Server.CreateObject(adodb.stream)
objstream.Jenis = 1
objstream.Mode =3
objstream.Buka
objstream.Tulis isi
objstream.Posisi = 0
objstream.Jenis = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Tutup
setel objstream = tidak ada
Fungsi Akhir
%>
2. Pemisahan template dan pembuatan batch
Konten yang akan diganti dalam file template terlampir dalam {...}
Untuk menyederhanakan, kode penanganan kesalahan telah dihapus (parameter string yang akan diganti di replace tidak boleh berupa nilai null, dan tentu saja fso juga harus melakukan pengecekan kesalahan).
Copy kode kodenya sebagai berikut:
<%
'------------------------------------------------ - ---------------------------------- - - -----------------
' Dari: kevin fung http://www.yaotong.cn
' Penulis: kevin fung ID Laggard: kevin2008, harap simpan apa adanya saat mencetak ulang
' Waktu: 2006/07/05 Laggard Forum rilis pertama
'------------------------------------------------ - ---------------------------------- - - ------------------------------
Redupkan awal 'Variabel ini adalah posisi kumpulan rekaman yang akan ditunjuk oleh penunjuk, yang diperoleh secara dinamis melalui parameter
Redupkan Template 'File template akan membaca variabel ini menjadi sebuah string
Redupkan konten 'Variabel string yang diganti
Redupkan objConn 'Objek koneksi
Redupkan ConnStr 'String koneksi
Redupkan pernyataan kueri sql
Dim cnt:cnt = 1 'Inisialisasi penghitung loop dari siklus ini
start = request(start) 'Dapatkan posisi awal dari penunjuk putaran saat ini
Jika IsNumeric(mulai) Maka mulai = CLng(mulai) Lain mulai=1
Jika start=0 Maka start = 1 'Jika start
ConnStr = Penyedia = Microsoft.Jet.OLEDB.4.0;Sumber Data = & Server.MapPath(DataBase.mdb)
sql = pilih * dari nama_tabel
Setel objConn = Server.CreateObject(ADODB.Connection)
objConn.Buka SambunganStr
set rs = Server.CreateObject(ADODB.Recordset)
rs.open sql,objConn,1,1 'Buka kumpulan data
rs.AbsolutePosition = start 'Langkah paling penting adalah mengarahkan pointer ke awal, yang diperoleh secara dinamis melalui parameter
Templat = getTemplate(Server.MapPath(template.html))' template.html adalah file templat, dan stringnya dibaca melalui fungsi getTemplate. Konten yang akan diganti dalam file templat diapit dalam {...}
Sedangkan Not rs.eof And cnt<= 500 '500 adalah untuk mengatur jumlah siklus permintaan untuk menghasilkan halaman. Ubah sesuai dengan situasi sebenarnya. Jika terlalu tinggi, kesalahan batas waktu akan terjadi ketika ada banyak kumpulan rekor.
content = Ganti(Templat,{filed_name_1},rs(filed_name_1)) 'Ganti konten templat dengan nilai bidang
konten = Ganti(konten,{nama_arsip_2},rs(nama_arsip_2))
...
konten = Ganti(konten,{nama_arsip_n},rs(nama_arsip_n))
genHtml content,Server.MapPath(htmfiles/&rs(id)&.html) 'Buat dokumen HTML dengan mengganti string Templat. htmfiles adalah direktori tempat penyimpanan file statis.
cnt = cnt + 1 'Penghitung ditambah 1
start = start + 1 'Peningkatan variabel penunjuk
rs.movenext
pergi ke
Jika Tidak rs.eof Lalu 'Buat permintaan putaran berikutnya dengan menyegarkan dan meneruskan variabel penunjuk mulai ke putaran berikutnya
respon.tulis <meta http-equiv='refresh' content='0;URL=?start=&start&'>
Kalau tidak
pembuatan file HTML respon.write selesai!
Berakhir jika
rs.Tutup()
Setr=Tidak ada
objConn.Tutup()
Setel objConn = Tidak Ada
Fungsi getTemplate(template)' berfungsi untuk membaca template, mengembalikan string, template adalah nama file
Redupkan fso, f
set fso=CreateObject(Scripting.FileSystemObject)
set f = fso.OpenTextFile(templat)
getTemplate=f.BacaSemua
f.tutup
atur f=tidak ada
atur fso=Tidak ada
Fungsi Akhir
Sub genHtml(content,filename)' menulis konten yang diganti ke dalam dokumen HTML, content adalah string yang diganti, dan nama file adalah nama file yang dihasilkan.
Redupkan fso,f
Setel fso = Server.CreateObject(Scripting.FileSystemObject)
Set f = fso.CreateTextFile(filename,true)'Jika nama file diulang, file lama akan ditimpa
f.Menulis konten
f.Tutup
Tetapkan f = Tidak ada
atur fso=Tidak ada
Akhiri Sub
%>