仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 526|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP天生静态HTML文件的几种办法对照

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天对照|静态将静态页面转换天生静态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读取天生一次便可。
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,
小魔女 该用户已被删除
沙发
发表于 2015-1-18 21:02:38 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-31 18:26:57 来自手机 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
乐观 该用户已被删除
地板
发表于 2015-2-6 20:57:14 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-18 18:52:22 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
透明 该用户已被删除
6#
发表于 2015-3-6 09:12:38 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
不帅 该用户已被删除
7#
发表于 2015-3-12 23:30:58 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
变相怪杰 该用户已被删除
8#
发表于 2015-3-20 05:21:31 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表