怎样把ASP页生成HTML页?
ASP生成静态网页的方法 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。 将现有的ASP页直接生成静态页,将会节省很多。 下面的例子是将、index。asp?id=1/index。asp?id=2/index。asp?id=3/这三个动态页面,分别生成ndex1。htm,index2。 htm,index3。htm存在根目录下面: " For i=1 To 3 Html_Temp = Html_Temp&...全部
ASP生成静态网页的方法 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联网上流行的做法是将数据源代码写入数据库再从数据库读取生成静态面,这样无形间就加大了数据库。
将现有的ASP页直接生成静态页,将会节省很多。 下面的例子是将、index。asp?id=1/index。asp?id=2/index。asp?id=3/这三个动态页面,分别生成ndex1。htm,index2。
htm,index3。htm存在根目录下面: " For i=1 To 3 Html_Temp = Html_Temp&"" Item_Classid = i FileName = "Index"&Item_Classid&"。
htm" FilePath = Server。MapPath("/")&""&FileName Html_Temp = Html_Temp&FilePath&"" Do_Url = "http://" Do_Url = Do_Url&Request。
ServerVariables("SERVER_NAME")&"/main/index。asp" Do_Url = Do_Url&"?Item_Classid="&Item_Classid strUrl = Do_Url dim objXmlHttp set objXmlHttp = Server。
CreateObject("Microsoft。XMLHTTP") objXmlHttp。open "GET",strUrl,false objXmlHttp。send() Dim binFileData binFileData = objXmlHttp。
responseBody Dim objAdoStream set objAdoStream = Server。CreateObject("ADODB。Stream") objAdoStream。
Type = 1 objAdoStream。Open() objAdoStream。Write(binFileData) objAdoStream。SaveToFile FilePath,2 objAdoStream。
Close() Next Html_Temp = Html_Temp&"" %> 非摸板生成静态页 目前已经有很多生成html的新闻系统,但是都是用的模板,本函数实现把asp页面产生的html代码保存成为一个html文件,这样就没有必要改动原来的页面就可以轻松完成一个生成html的新闻系统了。
^_^ 由于代码比较短,这里就不进行注释了 " content = re。replace(content,"") re。global = false re。pattern = "" do set ms = re。
execute(content) if ms。countaspEnd 1 execode = execode&vbcrlf&" hughchiu_rtcode = hughchiu_rtcode&"""&replace( replace(Mid(content,aspEnd,aspStart-aspEnd-2),"""",""""""), vbcrlf, """&vbcrlf&""")&""""&vbcrlf aspEnd=inStr(aspStart,content,"%>") 2 tmp_str = Mid(content,aspStart,aspEnd-aspStart-2) do set ms = re1。
execute(tmp_str) if ms。count" End Function function asp2html(filename) dim code code = replace( replace( replace( get_exe_code(filename), "hughchiu_rtcode = hughchiu_rtcode&"""""&vbcrlf, "" ), "", "" ) 'response。
Write(code) execute(code) 'response。Write( hughchiu_rtcode ) asp2html = hughchiu_rtcode end function %> 使用范例: set fso=CreateObject("Scripting。
FileSystemObject") set f=fso。CreateTextFile( server。mappath( "youpage。htm" ), true ) f。WriteLine( asp2html("youpage。
asp") ) f。close set f = nothing set fso = nothing 可见,虽然是新方法还是需要fso的支持。收起