ddc
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
上海网站建设 网站建设 域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计 虚拟主机 域名注册 acg ACG玩家 品牌设计
求创科技
网站建设
中国互联
投稿
素材出售
中国设计秀
中资源
当前位置:网络学院首页 >> 编程开发 >> asp >> Asp生成静态网页

Asp生成静态网页

来源:中国设计秀    作者:    点击:168     加入收藏    发表评论
0
顶一下
网页生成静态Html文件有许多好处,比如生成html网页有利于被搜索引擎收录,不仅被收录的快还收录的全.前台脱离了数据访问,减轻对数据库访问的压力,加快网页打开速度.



1,下面这个例子直接利用FSO把html代码写入到文件中然后生成.html格式的文件



<%

filename="test.htm"  

if request("body")<>"" then  

set fso = Server.CreateObject("Scripting.FileSystemObject")  

set htmlwrite = fso.CreateTextFile(server.mappath(""&filename&""))  

htmlwrite.write "<html><head><title>" & request.form("title") & "</title></head>"  

htmlwrite.write "<body>输出Title内容: " & request.form("title") & "<br /> 输出Body内容:" & request.form("body")& "</body></html>"  

htmlwrite.close  

set fout=nothing  

set fso=nothing  

end if  

%>  

<form name="form" method="post" action="">  

<input name="title" value="Title" size=26>  

<br>  

<textarea name="body">Body</textarea>  

<br>  

<br>  

<input type="submit" name="Submit" value="生成html">  

</form>

2、但是按照上面的方法生成html文件非常不方便,第二种方法就是利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值,完成模板功能;将最终替换过的所有模板代码生成HTML文件.这种技术采用得比较多,大部分的CMS都是使用这类方法.

template.htm ' //模板文件 <html>



<head>  

<title> $title $ by aspid.cn</title>  

</head>  

<body>  

 $body $  

</body>  

</html> ?  

TestTemplate.asp '// 生成Html <%  

Dim fso,htmlwrite  

Dim strTitle,strContent,strOut  

'// 创建文件系统对象  

Set fso=Server.CreateObject("Scripting.FileSystemObject")  

'// 打开网页模板文件,读取模板内容  

Set htmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))  

strOut=f.ReadAll  

htmlwrite.close  

strTitle="生成的网页标题"  

strContent="生成的网页内容"  

'// 用真实内容替换模板中的标记  

strOut=Replace(strOut," $title $",strTitle)  

strOut=Replace(strOut," $body $",strContent)  

'// 创建要生成的静态页  

Set htmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)  

'// 写入网页内容  

htmlwrite.WriteLine strOut  

htmlwrite.close  

Response.Write "生成静态页成功!"  

'// 释放文件系统对象  

set htmlwrite=Nothing  

set fso=Nothing  

%>



3、第三种方法就是用XMLHTTP获取动态页生成的HTML内容,再用ADODB.Stream或者Scripting.FileSystemObject保存成html文件。这句话是在蓝色理想上看到的,对XMLHTTP吟清还不熟悉正在找资料了解.找到一段XMLHTTP生成Html的代码参考一下.





<%  

'常用函数  

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码  

function getHTTPPage(url)  

dim Http  

set Http=server.createobject("MSXML2.XMLHTTP")  

Http.open "GET",url,false  

Http.send()  

if Http.readystate<>4 then  

exit function  

end if  

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")  

set http=nothing  

if err.number<>0 then err.Clear  

end function



2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换





Function BytesToBstr(body,Cset)  

dim objstream  

set objstream = Server.CreateObject("adodb.stream")  

objstream.Type = 1  

objstream.Mode =3  

objstream.Open  

objstream.Write body  

objstream.Position = 0  

objstream.Type = 2  

objstream.Charset = Cset  

BytesToBstr = objstream.ReadText  

objstream.Close  

set objstream = nothing   

  

End Function  



txtURL=server.MapPath("../index.asp")  

sText = getHTTPPage(txtURL)  

Set FileObject=Server.CreateObject("Scripting.FileSystemObject")  

filename="../index.htm"  

Set openFile=FileObject.OpenTextfile(server.mapPath(filename),2,true) 'true为不存在自行建立  

openFile.writeline(sText)  

Set OpenFile=nothing  

%>  

<script>  

alert("静态网页生成完毕");  

history.back();  

</script>
2007-09-08 16:21:00    出处:
Google

音乐
嫁衣 画心 放生 天亮了 牡丹江 那滋味 擦肩而过 怀念过去 北京欢迎你 突然好想你 吻的太逼真 说好的幸福呢 坐上火车去拉萨 没有人比我更爱你
愚爱 心碎 稻香 带我走 醉赤壁 魔杰座 我还想她 明天过后 一定要爱你 等爱的玫瑰 原谅我一次 越单纯越幸福 最后一次的温柔 给我一首歌的时间
白狐 光荣 降临 下雨天 小酒窝 樱花草 恋爱新手 说唱脸谱 红色高跟鞋 寂寞才说爱 深深爱过你 爱上你是个错 即使知道要见面 不是因为寂寞才想你
城府 假如 花海 兰亭序 棉花糖 舍不得 最后一次 女人如烟 外滩十八号 我们的纪念 我们的无奈 心在跳情在烧 爱上你是我的错 爱情里没有谁对谁错
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口