ASP网站制作之对照ASP天生静态HTML文件的几种办法
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了将静态页面转换天生静态Html文件有很多优点,好比天生html网页有益于被搜刮引擎收录(出格是对承受静态参数的页面)。前台会见时,离开了数据会见,加重对数据库会见的压力,加速网页翻开速率。固然,凡事有益必有弊,天生HTML页面有形中也泯灭大批的磁盘空间以寄存这些静态文件,在编纂页面过程当中除读写数据库外,也要读写服务器磁盘,页面款式的修改必需从头天生全体HTML文件,等等。
像良多搜刮引擎,都能够提交网站的页面地点列表,静态文件的收录成绩已不算是个成绩了(如googlesitemap)。得掉就要本人权衡掌控了,但不管怎样,我们仍是要明白怎样操纵的。这里就援用一下他人的文章申明几种罕见的天生思绪,供人人参考参考。
1、上面这个例子间接使用FSO把html代码写进到文件中然后天生.html格局的文件。这是最原始的,长处是复杂,弱点是页面的修正不便利,我一样平常用到的中央是使用它天生整站参数文件。(一般网站如题目,称号等设置保留在数据库,我将它天生config.asp保留这些变量挪用,制止频仍会见数据库)
以下为援用的内容:
<%
filename="test.htm"
ifrequest("body")<>""then
setfso=Server.CreateObject("Scripting.FileSystemObject")
sethtmlwrite=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
setfout=nothing
setfso=nothing
endif
%>
<formname="form"method="post"action="">
<inputname="title"value="Title"size=26>
<br>
<textareaname="body">Body</textarea>
<br>
<br>
<inputtype="submit"name="Submit"value="天生html">
</form>
2、可是依照下面的办法天生html文件十分不便利,第二种办法就是使用模板手艺,将模板中特别代码的值交换为从表单或是数据库字段中承受过去的值,完成模板功效,将终极交换过的一切模板代码天生HTML文件。这类手艺接纳得对照多,年夜部分的CMS都是利用这类办法。
以下为援用的内容:
template.htm//模板文件
<html>
<head>
<title>$title$bywebjx.com</title>
</head>
<body>
$body$
</body>
</html>
TestTemplate.asp//天生Html
<%
Dimfso,htmlwrite
DimstrTitle,strContent,strOut
//创立文件体系工具
Setfso=Server.CreateObject("Scripting.FileSystemObject")
//翻开网页模板文件,读取模板内容
Sethtmlwrite=fso.OpenTextFile(Server.MapPath("Template.htm"))
strOut=f.ReadAll
htmlwrite.close
strTitle="天生的网页题目"
strContent="天生的网页内容"
//用实在内容交换模板中的标志
strOut=Replace(strOut,"$title$",strTitle)
strOut=Replace(strOut,"$body$",strContent)
//创立要天生的静态页
Sethtmlwrite=fso.CreateTextFile(Server.MapPath("test.htm"),true)
//写进网页内容
htmlwrite.WriteLinestrOut
htmlwrite.close
Response.Write"天生静态页乐成!"
//开释文件体系工具
sethtmlwrite=Nothing
setfso=Nothing
%>
3、第三种办法就是用XMLHTTP猎取静态页天生的HTML内容,再用ADODB.Stream大概Scripting.FileSystemObject保留成html文件。找到一段XMLHTTP天生Html的代码参考一下。
以下为援用的内容:
<%
经常使用函数
1、输出url方针网页地点,前往值getHTTPPage是方针网页的html代码
functiongetHTTPPage(url)
dimHttp
setHttp=server.createobject("MSXML2.XMLHTTP")
Http.open"GET",url,false
Http.send()
ifHttp.readystate4then
exitfunction
endif
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
sethttp=nothing
iferr.number0thenerr.Clear
endfunction
2、转换乱玛,间接用xmlhttp挪用有中笔墨符的网页失掉的将是乱玛,能够经由过程adodb.stream组件举行转换
FunctionBytesToBstr(body,Cset)
dimobjstream
setobjstream=Server.CreateObject("adodb.stream")
objstream.Type=1
objstream.Mode=3
objstream.Open
objstream.Writebody
objstream.Position=0
objstream.Type=2
objstream.Charset=Cset
BytesToBstr=objstream.ReadText
objstream.Close
setobjstream=nothing
EndFunction
txtURL=server.MapPath("../index.asp")
sText=getHTTPPage(txtURL)
SetFileObject=Server.CreateObject("Scripting.FileSystemObject")
filename="../index.htm"
SetopenFile=FileObject.OpenTextfile(server.mapPath(filename),2,true)true为不存在自行创建
openFile.writeline(sText)
SetOpenFile=nothing
%>
<script>
alert("静态网页天生终了");
history.back();
</script>
小结,这三种体例是对照经常使用的天生HTML文件办法,我个对照喜好利用第三种体例,由于页面修改时十分便利,就算静态页修改多多数好,只需从头用XMLHTTP读取天生一次便可。
由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
页:
[1]