当前位置: 首页 > 图文教程 > 网络编程 > ASP > 通过XMLHTTP实现模板式静态页生成

ASP
如何善用Response.Buffer增进浏览速度?
利用 Meta Tag 来增加文件属性
要如何使用 ASP Error 组件?
Server.Execute和#include相异之处
ASP中文本文件与数据库文件的数据交换
如何用ASP建立图表
如何在ASP中通过ODBC调用Excel中的数据
不刷新页面改变下拉菜单内容
使用ASP重启服务器
用模板建立动态ASP页
如何用ASP将一大段文字中的HTML的标识去掉
让使用者可以看到你的ASP的原代码
用ASP实现在特定的时段或对特定访问者开放
在ASP中判断SQL语句是否执行成功
直接显示Monday等星期的ASP语句
LINE 的计数器源程序(附源代码)
使用asp+中的若干问题及解决方案
ASP实现多语言支持
Session对象在各浏览器中的有效范围
SQL Server如何解决加密问题?

ASP 中的 通过XMLHTTP实现模板式静态页生成


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 135 ::
收藏到网摘: n/a

前两天在给自己的一个网站(www.cfsoft.com.cn)做一个文章发布程序,为了使网站更容易被搜索网站收录所以将内容都生成为静态页

一、xxfb表结构如下

type   类型,在我的网站中用来区分几个栏目,我那里有一个技术,一个新闻

pagetitle页面标题

keywords页面关键字

description页面mata里的描述

doctitle 文章标题

doctext文章内容

thedate发布时间

orderid排序代号

commend标注是否为推荐文章

二、每一个类型定义一个list_加类型名的目录模板页面,一个temp_加类型名的文章模板页面

三、以下为静态页生成主体程序

以下为引用的内容:
If Trim(request("flag"))="BUILD" Then
'---生成目录------
sql="select distinct type from xxfb"
Set objrs=conn.execute(sql)
While Not objrs.eof
url = siteurl&"/admin/list_"&Trim(objrs("type"))&".asp"
set http=Server.createobject("Msxml2.XMLHTTP")
Http.open "GET",url,false
Http.send()
set objStream = Server.CreateObject("ADODB.Stream")
objStream.type = 1
objStream.open
objstream.write http.responseBody
objstream.saveToFile server.mappath("/"&Trim(objrs("type"))&"/"&Trim(objrs("type"))&".htm"),2
objstream.close
Set objstream=Nothing
   objrs.movenext
Wend
Set objrs=Nothing

sql="select * from xxfb order by thedate desc"
Set objrs=conn.execute(sql)
While Not objrs.eof
   url = siteurl&"/admin/temp_"&Trim(objrs("type"))&".asp?id="&Trim(objrs("id"))
   set http=Server.createobject("Msxml2.XMLHTTP")
   Http.open "GET",url,false
   Http.send()
   set objStream = Server.CreateObject("ADODB.Stream")
   objStream.type = 1
   objStream.open
   objstream.write http.responseBody
   objstream.saveToFile server.mappath("/"&Trim(objrs("type"))&"/"&Trim(objrs("id"))&".htm"),2
   objstream.close
   Set objstream=Nothing
   objrs.movenext
wend
Response.Write "生成静态网页成功!"
End if