家园首页 Php4手册 我的相册 家园下载 个人文集 给我留言
我形我塑,网络相册,www.5x54.com 相册 相册 心情相册,少女相册 免费申请,我形我塑免费相册
 家园 个人文集   http://www.5x54.com
 


ASP生成静态Html文件技术杂谈


作者:天极    点击: 读取中...

网页生成静态Html文件有许多好处,比如生成html网页有利于被搜索引擎收录,不仅被收录的快还收录的全.前台脱离了数据访问,减轻对数据库访问的压力,加快网页打开速度.  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
所以吟清最近对生成html比较感兴趣,看了不少文章,也有一点点收获.  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
1,下面这个例子直接利用FSO把html代码写入到文件中然后生成.html格式的文件  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
引用代码:<%  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
filename="test.htm"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
if request("body")<>"" then  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set fso = Server.CreateObject("Scripting.FileSystemObject")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set htmlwrite = fso.CreateTextFile(server.mappath(""&filename&""))  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.write "<html><head><title>" & request.form("title") & "</title></head>"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.write "<body>输出Title内容: " & request.form("title") & "<br /> 输出Body内容:" & request.form("body")& "</body></html>"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.close  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set fout=nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set fso=nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
end if  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
%>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<form name="form" method="post" action="">  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<input name="title" value="Title" size=26>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<br>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
 <textarea name="body">Body</textarea>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
 <br>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
 <br>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
 <input type="submit" name="Submit" value="生成html">  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
</form>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
2,但是按照上面的方法生成html文件非常不方便,第二种方法就是利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值,完成模板功能;将最终替换过的所有模板代码生成HTML文件.这种技术采用得比较多,大部分的CMS都是使用这类方法.  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
template.htm ' //模板文件  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
引用代码: 版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<html>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<head>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<title>$title$ by aspid.cn</title>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
</head>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<body>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
$body$  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
</body>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
</html>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
TestTemplate.asp '// 生成Html  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
引用代码: 版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<%  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Dim fso,htmlwrite  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Dim strTitle,strContent,strOut  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 创建文件系统对象  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set fso=Server.CreateObject("Scripting.FileSystemObject")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 打开网页模板文件版权保护,请不要随意复制^%#$32284)98sa。^_^,读取模板内容  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set htmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
strOut=f.ReadAll  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.close  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
strTitle="生成的网页标题"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
strContent="生成的网页内容"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 用真实内容替换模板中的标记  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
strOut=Replace(strOut,"$title$",strTitle)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
strOut=Replace(strOut,"$body$",strContent)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 创建要生成的静态页  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set htmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 写入网页内容  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.WriteLine strOut  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
htmlwrite.close  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Response.Write "生成静态页成功!"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'// 释放文件系统对象  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set htmlwrite=Nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set fso=Nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
%>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
3,第三种方法就是用XMLHTTP获取动态页生成的HTML内容版权保护,请不要随意复制^%#$32284)98sa。^_^,再用ADODB.Stream或者Scripting.FileSystemObject保存成html文件。这句话是在蓝色理想上看到的,对XMLHTTP吟清还不熟悉正在找资料了解.找到一段XMLHTTP生成Html的代码参考一下.  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
引用代码: 版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<%  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'常用函数  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'1、输入url目标网页地址版权保护,请不要随意复制^%#$32284)98sa。^_^,返回值getHTTPPage是目标网页的html代码  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
function getHTTPPage(url)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
dim Http  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set Http=server.createobject("MSXML2.XMLHTTP")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Http.open "GET",url,false  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Http.send()  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
if Http.readystate<>4 then  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
exit function  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
end if  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set http=nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
if err.number<>0 then err.Clear  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
end function  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
'2、转换乱玛版权保护,请不要随意复制^%#$32284)98sa。^_^,直接用xmlhttp调用有中文字符的网页得到的将是乱玛版权保护,请不要随意复制^%#$32284)98sa。^_^,可以通过adodb.stream组件进行转换  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
引用代码: 版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Function BytesToBstr(body,Cset)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
dim objstream  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set objstream = Server.CreateObject("adodb.stream")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Type = 1  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Mode =3  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Open  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Write body  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Position = 0  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Type = 2  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Charset = Cset  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
BytesToBstr = objstream.ReadText  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
objstream.Close  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
set objstream = nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
End Function  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
txtURL=server.MapPath("../index.asp")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
sText = getHTTPPage(txtURL)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
filename="../index.htm"  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set openFile=FileObject.OpenTextfile(server.mapPath(filename),2,true) 'true为不存在自行建立  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
openFile.writeline(sText)  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
Set OpenFile=nothing  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
%>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
<script>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
alert("静态网页生成完毕");  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
history.back();  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^
</script>  版权保护版权保护,请不要随意复制^%#$32284)98sa。^_^,请不要随意复制^%#$32284)98sa。^_^

收藏此文章     打印  更新     编辑此文章    『关闭窗口』