ASP网页编程之ASP静态网页天生静态Html网页文件手艺
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.静态|静态|网页网页天生静态Html文件有很多优点,好比天生html网页有益于被搜刮引擎收录,不但被收录的快还收录的全.前台离开了数据会见,加重对数据库会见的压力,加速网页翻开速率.以是吟清比来对天生html对照感乐趣,看了很多文章,也有一点点劳绩.<P>1,上面这个例子间接使用FSO把html代码写进到文件中然后天生.html格局的文件<%
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$byaspid.cn</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
%>
<P>3、第三种办法就是用XMLHTTP猎取静态页天生的HTML内容,再用ADODB.Stream大概Scripting.FileSystemObject保留成html文件。这句话是在蓝色幻想上看到的,对XMLHTTP吟清还不熟习正在找材料懂得.找到一段XMLHTTP天生Html的代码参考一下.
<%
经常使用函数
1、输出url方针网页地点,前往值getHTTPPage是方针网页的html代码
functiongetHTTPPage(url)
dimHttp
setHttp=server.createobject("MSXML2.XMLHTTP")
Http.open"GET",url,false
Http.send()
ifHttp.readystate<>4then
exitfunction
endif
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
sethttp=nothing
iferr.number<>0thenerr.Clear
endfunction
<P>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>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
页:
[1]