ASP生成HTML(ASP+模板转成静态HTML)
三种网页格式HTML、SHTML、ASPX比较

关于动态静态化页面(shtml)1 个评论先谈一下本文会用到的三种网页格式,分别是HTML、SHTML、ASPX。
它们各有特点:HTML即为本文的主角:静态页面。
如果浏览器从服务器上请求一个HTML页面,服务器把该页面原封不动地发送给浏览器。
因此它的反应速度是最快的,而且对于cpu、内存等等的要求比较低。
ASPX是目前比较流行的动态网页格式。
ASP .NET页面的扩展名为 .aspx。
如果浏览器请求的是一个ASP .NET页面,服务器在把它回送到浏览器之前会处理页面中的所有可执行代码。
动态网页的一个特点是信息交互、及时更新、页面文件少、开发速度比较快。
但是它的一个严重的问题是在访问量比较大,而服务器的配置和资源比较有限的情况下,一些频繁的读写数据库、程序逻辑等等,会使得服务器负担不起而当机。
因此对于访问量比较大的网站,网页静态化是一个比较可靠的解决方案。
但是静态页面重复的内容比较多,在信息量比较大的网站,全HTML可以说是无论对于开发者或者使用者,都是缺乏人性化的工作。
例如我有一个显示内容的页面,它有左右两块,右边是文章内容,可能是长时间甚至永远不会变动的,左边是包含公告、新闻等的一些导航,更新速度比较快。
那如果左边的公告有了新的内容,为了让每个页面的信息都准确,那所有的页面都要重新制作,这操作起来明显很不方便。
于是就有了SHTML的存在。
SHTML 的一个特点就是在服务器会做一定的预处理,使得它可以用include file的方式,把若干个文件包含进来。
例如上例的页面,可以拆分为a.html和b.html,然后用c.shtml把这两个文件包含进来,那在更新的时候只需要更新a.html,而b.html不需要更新,这样可以减少大量的制作工作。
可能动态网页就是根据这个而产生的。
在中,这是最基本的控件思想。
以下是c.shtml的页面代码:<div class=”contaier”><div id=”left”><!-- #include file=”a.html”--></div><div id=”right”><!-- #include file=”b.html”--></div></div>因此,对于,可以采用输出shtml页面的方式,动态生成静态页面,来解决性能问题。
asp调用模板生成html要怎么做

asp调用模板生成html要怎么做?此篇文章也算不得我的原创,百度大神那里类似的文章一搜一大堆,咱也不争这个原创盗版,只是说一下我的思路,代码是什么不重要,重要的是解决问题的方法.分析问题:asp生成html,为什么生成html,用什么方法生成,要怎么做.先说为什么要生成html,其实这个真不用多讲,能看到这篇文章的人,都知道在几年前,人人追求的是动态网页,因为html文件是教定存在的,它不像xx.asp?id=xx这样是通过传值来达到获取数据库数据然后通过服务端发送给客户端浏览,换句话说,就是服务器没有数据库支持,html文件该显示什么还显示什么,这样看起来很好,在前些年,人们费尽心思想要的就是减轻客户机的压力,html文件的劣势就显示出来了,那些大型网站动辄就是成千上万个页面,如果全用html来做,那占用的空间岂不是太大.虽然减轻了服务器的负载,但是同样的,占用的体积那么大,资金花费也不小.但是现在,为了做好搜索引擎的收录,就是为了降低服务器的负载,就是要用到生成静态页.比如同一篇文章数据,一万个人同时请求,如果是html文件,简单,服务器:你请求了是吧,发给你好了.但是如果是动态页呢,它要先查询数据库记录,然后记录缓冲给浏览器,再显示给你,好了,你的解决了,剩下九千九百九十九人还要继续做一次这样的查询和输出,这样服务器的负载就太大了吧.这就是生成静态页的好处,现在谷歌,百度等搜索引擎早就无人不知无人不晓了,连小孩子都知道"内事不决问百度,外事不决问勾勾(谷歌)".而搜索引擎对于动态网页的收录效果很差,我们改变不了搜索引擎,就改变自己的网页吧...要用什么方法生成:既然想到了要生成html,那就要想要用什么方法生成,使用VBScript的程序员就立刻想到了fso对象,我们可以通过fso来创建和写入html文件.用JavaScript的程序员基本上也是立刻就想到XMLHTTP,很明显我还是喜欢用fso来做demo.无他,唯手熟尔.发现很多人只知道看此文,不去看代码,得,我在这把代码贴出..<!--#include file="conn.asp"--><!--这个是引入数据库文件,不解释--><%if request("style")="Make" then'判断是否是生成html'----------------------------------------------------'打开文件过程函数Function Openfile(url)Dim fileurl,mfile,content,fsofileurl = Server.MapPath(url)Set Fso = Server.CreateObject("Scripting.Filesystemobject") '定义FSOSet mfile = Fso.Opentextfile(fileurl,1) '以读的方式打开文件If Not mfile.Atendofstream Thencontent = mfile.readall() '读取全部内容End Ifmfile.Closeopenfile = contentEnd Function'----------------------------------------------------'传说中的rs....不解释Set rs=Server.CreateObject("ADODB.RecordSet")sql="select * from Table_News order by sys_id desc" '这是我的数据库内的表名,请自行更改rs.Open sql,conn,1,1'----------------------------------------------------'做个判断,本实例只是为了达到效果,请自行增加安全检测rsnum = rs.recordcount '只为了做到能正常显示,读取数据库的所有数据总和page=cint(request.form("page")) '取表单内的欲生成页面数folder=trim(request.form("folder")) '表单内欲创建文件夹选项,注意,此处没做检测,具有安全隐患'----------------------------------------------------'简单判断下用户输入if isnumeric(page) = false thenresponse.Write page&"非数字.请重新输入!"response.End()elseif page > rsnum thenpage = rsnumend ifend ifif page = "" thenpage = rsnumend if'----------------------------------------------------'简单判断是否用默认文件夹if folder = "" thenfolder = "news"end if'----------------------------------------------------for i=1 to page'这里开始处理变量,得到结果'----------------------------------------------------'下面的几个赋值变量我就不解释了吧?keyword = rs("News_Keyword")title = rs("News_Topic")body = rs("News_Content")bottom = rs("News_Time")'删掉不用start'当时为了做上一篇下一篇的演示,做了$left和$right,可以不用'----------------------------------------------------------num = i '下面的几个验证是我无聊写上去的,可以删掉不用.'分页验证if i = page thenlefti = "没有了"elseleftnum = num + 1lefti="<a href='news-"&leftnum&".html' target='_Self'>第"&leftnum&"页</a>"end ifif i <= 1 thenrighti = "没有了"elserightnum = num - 1righti="<a href='news-"&rightnum&".html' target='_Self'>第"&rightnum&"页</a>"end if'----------------------------------------------------------'删掉不用endfolder = Replace(folder,,"\/"&folder&"\/") '这里是要生成的文件存放的文件夹Path = "news-"&id&".html" '欲生成文件的名称,本应当用ID来做显示,这里为了做demo,就用i了. content = Openfile("temp.html") '模板的路径'Openfile为自定义函数'开始将模板的标签替换成变量'----------------------------------------------------'读出模板数据,替换内容,可无限替换.content = Replace(content,"$keyword",keyword)content = Replace(content,"$title",title)content = Replace(content,"$body",body)content = Replace(content,"$bottom",bottom)content = Replace(content,"$left",lefti) '可删掉不用content = Replace(content,"$right",righti) '可删掉不用,此处只是为了做上一篇下一篇的显示'......无限替换方法同标签、变量,可以自定义'----------------------------------------------------'Fso操作开始'----------------------------------------------------Set Fso = Server.createObject("Scripting.FileSystemObject")if not fso.folderexists(folder) thenfso.createfolder folderelseSet Fout = FSO.CreateTextFile(Server.MapPath(folder&"/"&Path))Fout.Write contentFout.Closeend ifSet Fout = Nothing'----------------------------------------------------'这里做一下显示生成的页面Response.Write("生成静态页成功详情请<a href="&folder&"/"&Path&">点击查看</a> 这是第"&i&"页<br />")'----------------------------------------------------'rs指针移动下一条.如果数据不够自动结束循环.rs.movenextif rs.eof then exit fornextResponse.End()'----------------------------------------------------end if%><title>模拟生成html</title><link rel="stylesheet" href="abc.css" type="text/css"><script>function aa(){var oStyleSheet=document.styleSheets[0];var oRule=oStyleSheet.rules[0];if(oRule.style.visibility=="visible"){oRule.style.visibility="hidden";}else {oRule.style.visibility="visible";}}</script><form action="?Style=Make" method="post" onkeypress="this.submit"><p style="text-align:center"><select name="sec" onchange="aa();"><option selected="selected">默认不选</option><option>根据ID生成</option></select></p><p id="shows">只生成:<input name="page" type="text" size="5" maxlength="10" />个html更换文件夹<input name="folder" type="text" size="10" maxlength="10" /> <input type="submit" value="生成"></p><p style="text-align:center" id="ss"><input type="submit" value="一键生成全部" ></p></form>相应的注释已经添加,如果还看不懂....我实在没话说.。
网页静态化是什么意思?使用网页静态化有什么好处

⽹页静态化是什么意思?使⽤⽹页静态化有什么好处【考点】⽹页静态化的了解。
【出现频率】★★★★★【解答】⽹页静态化有很多含义,在WEB开发中,静态⽹页⼀般理解为⽹站中⼤部分超级链接所引⽤的页⾯是单独的HTML静态页⾯⽂件(如*.htm、*.html等页⾯⽂件)。
在中(ASP、PHP或JSP也⼀样),页⾯都是通过运⾏库(其他语⾔也有相应的解释器或运⾏环境)动态⽣成HTML代码,然后发送到浏览器端的,⽽不是直接将页⾯⽂件发送。
通过⼀定的技术⼿段,将浏览⽤户通过超级链接可能浏览到的页⾯内容预先转换为单独的HTML静态页⾯,当⽤户浏览时,服务器直接将该页⾯⽂件发送到浏览器端解析。
⽹页静态化的好处具体有以下⼏点。
q 在某些情况下,⽤户请求浏览页⾯时,由于服务器不需要运⾏库动态⽣成HTML、访问数据库等操作,可以明显提⾼页⾯浏览的速度,减轻服务器的运⾏负担。
所以⽹页静态化特别适⽤于⼤型⽹站,⼤量⽤户请求页⾯时,服务器不需要运⾏库的⼯作及数据库的访问,减少了⼤量的页⾯输出⼯作。
不过某些情况也不适合⽹页静态化,因为⽹页静态化本⾝就是程序动态⽣成HTML代码并存储为单独的物理⽂件到磁盘,这个过程过于频繁将导致服务器压⼒过⼤。
在这⽅⾯,编程者要根据WEB项⽬的实际需要,权衡是否需要使⽤⽹页静态化技术。
q 有利于搜索引擎收录⽹站页⾯信息。
商业运营⽹站特别渴求Google、百度之类的搜索引擎能尽量多地收录站点中页⾯的信息,HTML页⾯能使⽹站页⾯收录的可能性增加很多。
还有⼀种类似的技术也可以完成类似的功能,即⽹页伪静态化,即通过URL重写等技术使超级链接所指向的静态HTML地址转向动态页⾯(如*.aspx页⾯)。
因为搜索引擎很多时候⾸先搜索页⾯中的超级链接,超级链接所指向的是HTML静态页⾯,所以可以很轻易地直接搜索到所对应的动态页⾯内容。
【分析】本题主要考查⾯试者对⽹页静态化技术的理解。
⼀些浏览量⽐较⼤的门户⽹站,特别是新闻⽹站,⼤量采⽤了⽹页静态化技术。
动态与静态网页生成技术

浅谈动态与静态网页生成技术摘要:静态网页的访问速度要快于动态网页,使动态网页静态化具有重要意义。
由于动态网页要通过服务器端运行,这样增加了服务器的负载,使其静态化明显可以减轻服务器的压力,使网页访问速度加快。
使用静态更有利用搜索引擎的收录,提高网站的排名。
关键字:静态网页生成技术动态网页近几年来网站为了提高在搜索引擎中的排名想尽办法,其中最为常用的方法就是将动态网页静态化的处理方法。
一、动态网页与静态网页的比较静态网页是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页。
静态页面不能自主管理发布更新的页面,如果想更新网页内容,要通过ftp软件把文件down下来用网页制作软件修改(通过fso等技术例外)常见的静态页面举例:.html扩展名的、.htm扩展名的。
注意:静态页面并非网站上没有动画的就是静态页面。
动态网页是通过执行asp,php,jsp,.net等程序生成客户端网页代码网页。
动态页面通常可以通过网站后台管理系统对网站的内容进行更新管理。
发布新闻,发布公司产品,交流互动,博客,网上调查等,这都是动态网站的一些功能。
也是我们常见的。
动态页面常见扩展名有:.asp .php .jsp .cgi.aspx 等。
注意:动态页面的“动态”是网站与客户端用户互动的意思,而非网页上有动画的就是动态页面。
静态网页,动态网页主要根据网页制作的语言来区分:静态网页使用语言:html(超文本标记语言)动态网页使用语言:html+asp 或 html+php 或 html+jsp 等。
静态网页与动态的区别:程序是否在服务器端运行,是重要标志。
在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如asp、php、jsp、、cgi等。
运行于客户端的程序、网页、插件、组件,属于静态网页,例如html页、flash、javascript、vbscript等等,它们是永远不变的。
ASP文件结构

ASP文件结构ASP(Active Server Pages)是一种用于创建动态网页的技术,常用于搭建基于Web的企业应用系统。
1. 逻辑和数据处理:ASP文件使用VBScript、JScript等脚本语言来处理逻辑和数据。
脚本代码通常包括变量声明、条件判断、循环、数据库操作等,以实现与客户端交互、获取和处理数据等功能。
2.HTML标记:ASP文件中可以包含HTML标记和静态内容,用于构建页面的布局、呈现文本、图片、链接等。
ASP文件中的HTML标记被服务器端解析并生成最终的HTML输出,然后返回给客户端浏览器。
3. 服务器端对象:ASP文件通过内置对象(如Request、Response、Session、Application等)来访问和操作服务器端资源。
这些对象提供了丰富的功能,如获取表单数据、发送HTTP请求、管理和存储用户会话信息等。
4.函数和子程序:ASP文件可以定义自己的函数和子程序,以实现代码的模块化和复用。
函数用于完成特定的任务并返回一个值,而子程序则用于执行一些操作而不返回任何值。
5.包含文件:ASP文件可以包含其他ASP文件或外部文件,以便在不同页面之间共享代码和内容。
这样可以避免重复编写相同的代码,并提高代码的复用性和可维护性。
6.错误处理:ASP文件中可以使用错误处理机制来捕获和处理可能出现的错误。
通过错误处理,可以控制程序的执行流程,输出相关的错误信息,并采取相应的措施来纠正错误。
1.客户端请求页面:当客户端浏览器请求一个ASP页面时,服务器检测到该请求并启动ASP引擎。
2.服务器解析ASP文件:服务器将ASP文件中的脚本代码解析成可执行的代码,并执行其中的逻辑和数据处理步骤。
3.生成HTML输出:根据ASP文件中的HTML标记和服务器端对象的操作,服务器生成最终的HTML输出。
4.返回HTML响应:服务器将生成的HTML响应发送回客户端浏览器进行显示。
ASP文件的结构可以根据实际需求进行灵活的设计和组织。
ASP语言

学习ASP之前学习ASP 之前,应掌握HTML 和CSS,以保证你能够熟练地编写静态网页。
有关HTML 教程,CSS 教程,请参见HTML教程,CSS教程。
另外,你还需掌握VBScript 脚本语言,因为这是编写ASP 网页最合适的脚本语言。
有关VBScript 脚本语言,请参见VBScript教程。
ASP简介ASP,英文全称为Active Server Pages。
ASP 是一种动态网页,文件后缀名为.asp。
ASP 网页是包含有服务器端脚本(server-side script) 的HTML 网页。
Web 服务器会处理这些脚本,将其转换成HTML 格式,再传到客户的浏览器端。
下面的图示,你可以很直观地理解HTML 和ASP 的区别。
HTML 和ASP 的区别HTML是编写网页的最简单的语言。
HTML 只能用于编写静态的网页。
当一个用户浏览器(下图所示:Web Client) 从Web 服务器(下图所示:Web Server) 要求一个HTML 网页时,Web 服务器就将这个网页直接发送给用户浏览器,不经过计算处理。
然后用户浏览器会处理该网页的HTML 代码,然后将结果显示出来。
见下图所示:而ASP 的处理过程则更复杂些。
当一个用户浏览器(下图所示:Web Client) 从Web 服务器(下图所示:Web Server) 要求一个ASP 网页时,Web 服务器会将这个ASP 文件发送给Web 服务器的ASP 引擎(下图所示:ASP Engine),ASP 引擎则将该ASP 网页中所有的服务器端脚本(下图所示:<%和%>之间的代码) 转换成HTML 代码,然后将所有HTML 代码发送给用户浏览器。
见下图所示:ASP能干什么?用HTML, CSS 已经能够编写非常漂亮的静态网页,但是这些网页缺乏和用户的互动性。
比如,你需要为你的网站增加用户注册和登录的功能;你可能还需要做一些网上调查,了解用户对于某个事件或者产品的反馈;你还可能需要一个电子商务网站,及时发布产品信息和满足用户在线订购的需要......编写ASP 动态网页能够帮助你实现这些和用户互动的功能。
Freemarker生成HTML静态页面

Freemarker⽣成HTML静态页⾯这段时间的⼯作是做⼀个⽹址导航的项⽬,⾯向⽤户的就是⼀个⾸页,于是就想到了使⽤freemarker这个模板引擎来对⾸页静态化。
之前是⽤jsp实现,为了避免⽤户每次打开页⾯都查询⼀次数据库,所以使⽤了jsp的内置对象application,在Controller中将数据都查询出来,然后放⼊application,最后在JSP页⾯使⽤jstl标签配合EL表达式将数据遍历出来。
这样做是从⼀定程度上减轻了服务器的压⼒和页⾯的响应速度,但是仍然没有静态页⾯响应快。
使⽤Freemarker步骤:1. jar包,我的项⽬中使⽤maven来构建,所以在pom.xml中引⼊Freemarker jar包的坐标就可以了。
2. ftl模板,我在WEB-INF下⾯创建⼀个⽂件夹ftl,⾥⾯只放ftl模板⽂件,我创建了⼀个index.ftl⽂件。
3. ftl模板⽂件中写的就是html标签和css样式之类的,但是数据部分需要使⽤Freemarker提供的标签遍历出来。
如下<!--⼴告悬浮--><div class="subMenu"><!--⼯具--><div class='xff'><div class="slideTxtBox"><div class="hd"><span class="arrow"><a class="next"></a><a class="prev"></a></span><ul><#list newsMap?keys as testKey><li>${testKey}</li></#list></ul></div><div class="bd" style="padding: 5px 10px;"><#list newsMap?values as value><div style="text-align: left; table-layout: fixed; word-wrap: break-word; width: 100%;" class="baidu"><#list value as newsList><a target="_blank" href="${newsList.newsurl }" title="${newsList.newsname }">${newsList.newsname }</a></#list></div></#list></div></div></div></div>其中<#list></#list>是Freemarker提供的遍历标签,Freemarker提供了很多的标签,这⾥不⼀⼀叙述。
ASP 动态生成HTML文件

objstream.WriteLine("<html>")
objstream.WriteLine("<title>动态生成的HTML文件</title>")
objstream.WriteLine("<body>")
图3-20显示输入名字的表单图3-21显示输入名字的表单
浏览器中运行,输入名字后提交,生成的页面效果及生成的文件内容如图3-21所示。
<%
dim action,username
action=request.Form("action")
username=request.Form("username")
if action="create" then
dim objfile,objstream
set objfile=Server.CreateObject("scripting.FileSystemObject")
objstream.WriteLine("<a href=''>欢迎光临"&username&"的个人网站</a>")
objstream.WriteLine("</body>")
objstream.WriteLine("</html>")eam=nothing
wordpress 全站生成静态html页面插件

wordpress 全站生成静态html页面插件wordpress 全站生成静态html页面插件只要被浏览页面就会自动生成一个html页面文件名可以自己设,网上找的,分享下,说明:**** 概述****cos-html-cache 将会大大地提高你wordpress的运行效率和载入速度。
该插件会在页面第一次载入的时候产生和url对应的真正的html文件作为缓存,后面的运行将会直接载入该html从而大大的提高了页面的效率。
当页面内容发生变化时将会自动更新对应的页面,更新缓存的触发事件有:修改文章、删除文章、评论成功提交,同时这些事件也将会更新与之相邻的文章。
cos-html-cache2.0和之前的版本相比大大的提高了速度,改进了缓存的机制,使之更加科学**** 安装****1. 下载插件,解压缩,你将会看到一个文件夹cos-html-cache,请确认文件夹里面没有二级目录,然后将其放置到插件目录下,插件目录通常是 `wp-content/plugins/`;2. 在后台对应的插件管理页激活该插件;3 在网站的根目录下创建一个文件 "index.bak",并将属性设置成06664 安装完成;**** 卸载插件 ****1. 进入后台 admin->设置->cos-html-cache;2. 点击按钮删除所有的html缓存文件(请一定要删除);3. 删除首页根目录下的index.html(如果存在);4. 进入插件管理界面,禁用该插件;5. 卸载完成,若还有相关的html文件,请手动删除之。
**** FAQ ****1. 我后缀名是.htm不是.html的可以用么?后缀名是html或者html均可,其他方式不可以2. 如果我的永久连接是目录形式的可以用么?不可以,插件将会在目录下生成index.html文件。
3. 缓存的静态HTML文件在哪里?放在你URL链接对应的地方,比如你页面的地址是/dir1/dir2/2.ht ml那么静态文件就在 dir1/dir2 目录下4. 为什么后台没有批量更新了?请看最前面的说明,2.0的机制发生变化,已经不需要这个功能了!5. 如果我的永久连接不合理怎么办?放心修改就是,不用担心链接失效问题,我自己都修改过几次。
asp 工作原理

asp 工作原理ASP工作原理是一种基于服务器端的脚本语言,它与HTML 紧密集成,用于动态生成网页内容。
ASP全称为Active Server Pages,是由Microsoft公司开发的一种技术。
ASP的工作原理与其他服务器端脚本语言相似,大致可以分为以下几个步骤:1. 浏览器发送HTTP请求到服务器:当用户在浏览器中访问一个包含ASP代码的网页时,浏览器会发送HTTP请求到服务器,请求相应的页面。
2. 服务器接收请求并识别ASP文件:服务器接收到浏览器的请求后,会检查请求的文件扩展名,如果是以".asp"结尾的文件,则服务器会将该文件标识为ASP文件,并将其交给ASP 处理引擎。
3. ASP处理引擎解析ASP代码:ASP处理引擎会逐行解析ASP文件中的代码,并执行相应的操作。
ASP代码可以包括HTML标记和嵌入的服务器脚本,服务器脚本通常使用VBScript或JScript编写。
4. 动态生成HTML内容:ASP处理引擎会根据服务器脚本的逻辑和数据操作,生成动态的HTML内容。
这样就可以根据用户的请求和其他条件,动态地生成不同的网页内容。
5. 服务器向浏览器发送响应:生成HTML内容后,服务器会将生成的网页发送回浏览器,作为HTTP响应的一部分。
浏览器收到响应后,会解析HTML,并将其渲染为用户可以看到的网页。
需要注意的是,ASP工作的前提是服务器上已经安装了ASP处理引擎或ASP支持组件。
当浏览器请求ASP页面时,服务器会将ASP代码交给处理引擎执行,并将结果发送给浏览器。
这样就实现了动态生成网页内容的功能。
总结而言,ASP的工作原理是通过服务器端解析和执行ASP代码,动态生成HTML内容,并将HTML内容发送给浏览器,实现了动态网页的生成与展示。
asp 原理

asp 原理
ASP(主动服务器页面)是一种使用VBScript或JScript等脚
本语言编写的服务器端脚本技术,用于动态生成HTML页面。
ASP的原理是在服务器上运行的一个程序,当客户端发起请
求时,服务器通过ASP引擎解析ASP文件中的脚本代码,并
执行相应的逻辑,最终将生成的HTML响应返回给客户端。
ASP的工作原理如下:
1. 客户端发送HTTP请求到服务器。
2. 服务器接收到请求后,会先判断请求的文件扩展名,如果是".asp"则启动ASP引擎。
3. ASP引擎解析ASP文件中的脚本代码,并执行其中的逻辑
操作。
脚本代码可以包含控制结构、变量定义、函数等等。
4. 在ASP文件中,可以使用特定的标记(如<%= 和 %>)来
嵌入动态内容,这些标记会被ASP引擎解析并执行。
5. 在执行过程中,ASP引擎可以与数据库、文件系统、邮件
服务器等其他系统交互,以获取或更新所需的数据。
6. 最终,ASP引擎生成的HTML响应会被发送回客户端,展
示给用户。
ASP的主要优点是简单易学,支持多种脚本语言,可以与其
他技术(如ADO、COM组件等)无缝集成,以及提供了强大的动态网页生成能力。
它被广泛用于开发企业级应用、Web
应用程序、电子商务网站等。
静态html模板

静态html模板静态HTML模板。
静态HTML模板是网页设计和开发中常用的一种技术。
它是一种用于创建网页的基本模板,可以帮助开发者快速构建静态网页,而不需要依赖于动态服务器端技术。
静态HTML模板通常包含了网页的基本结构、样式和布局,可以为网站提供一致的外观和用户体验。
使用静态HTML模板有很多优点。
首先,它可以提高网站的加载速度,因为静态网页不需要从服务器动态生成,而是直接从服务器传输到客户端。
这意味着用户可以更快地访问网站,并且可以减少服务器的负载。
其次,静态HTML模板可以帮助开发者更好地控制网页的结构和布局,使得网站更容易被搜索引擎索引和排名。
此外,静态HTML模板也更容易维护和管理,因为它不依赖于数据库或服务器端脚本。
在使用静态HTML模板时,开发者需要注意一些问题。
首先,要确保模板的兼容性和响应性,以便在不同的设备和浏览器上都能够正常显示。
其次,要注意网页的性能优化,包括压缩和合并CSS和JavaScript文件,以减少网页的加载时间。
另外,要注意网页的可访问性,确保网页内容对于残障人士和老年人也能够正常浏览和理解。
为了更好地使用静态HTML模板,开发者可以使用一些现成的模板库,或者自己编写模板。
现成的模板库通常包含了各种各样的模板,可以根据需要进行定制和修改。
而自己编写模板则可以更好地满足特定的需求,但需要更多的时间和精力。
总的来说,静态HTML模板是网页设计和开发中非常重要的一部分。
它可以帮助开发者快速构建网页,并且具有良好的性能和可维护性。
然而,开发者在使用静态HTML模板时需要注意一些问题,以确保网页的质量和用户体验。
希望本文对于静态HTML模板的理解和应用有所帮助。
JSP生成静态HTML页面的几种方法

JSP生成静态HTML页面的几种方法2008年04月12日星期六 09:26一、从数据库中取相应数据并替换掉模板中的对应标签,下面是一个简单的示例1.buildhtml.jsp<%@ page contentType="text/html; charset=gb2312"import="java.util.*,java.io.*"%><%try{String title="This is Title";String content="This is Content Area";String editer="LaoMao";String filePath = "";filePath = request.getRealPath("/")+"test/template.htm";//out.print(filePath+"<br>");String templateContent="";FileInputStream fileinputstream = new FileInputStream(filePath);//读取模块文件int lenght = fileinputstream.available();byte bytes[] = new byte[lenght];fileinputstream.read(bytes);fileinputstream.close();templateContent = new String(bytes);//out.print(templateContent);templateContent=templateContent.replaceAll("###title###",title); templateContent=templateContent.replaceAll("###content###",content); templateContent=templateContent.replaceAll("###author###",editer);//替换掉模块中相应的地方//out.print(templateContent);// 根据时间得文件名Calendar calendar = Calendar.getInstance();String fileame = String.valueOf(calendar.getTimeInMillis()) +".html"; fileame = request.getRealPath("/")+fileame;//生成的html文件保存路径FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件输出流byte tag_bytes[] = templateContent.getBytes();fileoutputstream.write(tag_bytes);fileoutputstream.close();}catch(Exception e){out.print(e.toString());}%>2. template.htm<html><head><title>###title###</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <LINK href="../css.css" rel=stylesheet type=text/css></head><body><table width="500" border="0" align="center" cellpadding="0" cellspacing="2"><tr><td align="center">###title###</td></tr><tr><td align="center">author:###author### </td></tr><tr><td>###content###</td></tr></table></body></html>=======================================================二、从动态页的URL获取相应页面内容并写入到文件/** Created on 2006-3-4* To change the template for this generated file go to* Window>Preferences>Java>Code Generation>Code and Comments */package .tools.utils;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import .HttpURLConnection;import .URL;import java.util.Date;/*** @author Administrator* To change the template for this generated type comment go to* Window>Preferences>Java>Code Generation>Code and Comments */public class MakeHtml {private static long star = 0;private static long end = 0;private static long ttime = 0;//返回html代码public static String getHtmlCode(String httpUrl){Date before = new Date();star = before.getTime();String htmlCode = "";try {InputStream in;URL url = new .URL(httpUrl);HttpURLConnection connection =(HttpURLConnection)url.openConnection();connection = (HttpURLConnection) url.openConnection();connection.setRequestProperty("User-Agent","Mozilla/4.0"); connection.connect();in = connection.getInputStream();java.io.BufferedReader breader = new BufferedReader(new InputStreamReader(in , "GBK"));String currentLine;while((currentLine=breader.readLine())!=null){htmlCode+=currentLine;}} catch (Exception e) {e.printStackTrace();}finally{Date after = new Date();end = after.getTime();ttime = end-star ;System.out.println("执行时间:"+ttime +"秒");}return htmlCode;}//存储文件public static synchronized void writeHtml(StringfilePath,String info,String flag) {PrintWriter pw = null;try {File writeFile = new File(filePath);boolean isExit = writeFile.exists();if (isExit != true) {writeFile.createNewFile();} else {if (!flag.equals("NO")) {writeFile.delete();writeFile.createNewFile();}}pw = new PrintWriter(new FileOutputStream(filePath, true)); pw.println(info);pw.close();} catch (Exception ex) {System.out.println(ex.getMessage());}finally{pw.close();}}public static void main(String[] args) {String url = "/index.htm";writeHtml("c:/demo.htm",getHtmlCode(url),"NO");}}三、利用Filter和定制Response,把服务器返回的JSP响应输出到我们自己的Response中,就可以将响应快速写入Html文件,然后再发送给客户。
网页静态化处理办法

id=Int(replace(replace(Pater,"/",""),".html","")) 'replace替换函数,如将html和/替成空的
End If
Call ReadNews()
%>
<div>
<b><%= News_title%></b><br /> '主题
Set CrFi=fs.CreateTextFile(server.MapPath("../")&"\index.htm") ‘创建静态首页index.htm
CrFi.Writeline(wstr) ‘将读取出的内容写入静态页面
set CrFi=nothing ‘关闭两个对象
set fs=nothing
现在以生成的首页为例,介绍一下这种方法,代码如下:
Url="/default.asp" ‘定义动态首页
wstr = GetPage(Url) ‘把动态首页的内容全部读取出来
Set fs=Server.CreateObject("Scripting.FileSystemObject")
这是我目前总结出来的,准备用在我的主页上,演示地址:(未完),当然,我相信会有更好的解决方法,如果有兴趣的朋友请来本站交流.
文章来自:/article/20080107/67882.shtml
简单宜用的网站静态化思路及代码分析
dim objstream
大型网站静态化方案

大型网站静态化方案在大型网站的开发中,为了提高网站的性能和用户体验,静态化方案是一种常用的解决方案。
通过将动态生成的网页转化成静态的HTML文件,可以减少数据库查询、网络传输和服务器压力,从而加快页面加载速度,提高网站的访问响应速度。
1. 现状分析在传统的网站开发中,通常需要通过动态生成页面来实现网站的展示和数据交互。
每当用户访问一个页面时,服务器需要动态生成页面并将其返回给用户,在这个过程中通常需要进行数据库查询、动态渲染等操作,导致服务器端的运算和网络传输压力较大。
考虑到大型网站通常有大量的用户同时访问,上述的动态生成页面的方式会导致服务器的负载过高,从而影响用户的访问体验。
因此,采用静态页面的方案可以有效解决这个问题。
2. 静态化方案的优势静态化方案可以将动态生成的网页转化为静态的HTML文件,从而省去了服务器端的动态渲染和数据库查询。
静态页面可以直接由Web服务器返回给用户,无需后端的处理,大大提高了网站的访问响应速度。
在采用静态化方案之后,网站可以利用Web服务器的缓存功能,将静态文件缓存在用户的浏览器中,这样就可以减少对服务器的请求,进一步提高网站的性能和用户体验。
另外,采用静态化方案还可以提高网站的安全性。
由于静态页面不涉及数据库查询和后端处理,可以减少被黑客攻击的风险。
3. 静态化方案的实现方式静态化方案的具体实现方式有多种,可以根据具体情况选择适合的方案。
以下是几种常用的实现方式:3.1 静态化生成工具静态化生成工具是一种常用的静态化方案,它可以将动态的网页转化为静态的HTML文件,并存储在文件系统中。
当用户访问一个页面时,无需再动态生成,直接读取对应的静态文件返回给用户即可。
静态化生成工具可以通过爬虫的方式遍历整个网站,将所有的页面转化为静态文件。
这种方式适用于内容变化相对较少的网站,例如企业官网、新闻网站等。
3.2 静态化缓存静态化缓存是一种将动态生成的页面缓存为静态文件的方案。
【解决】网站html静态化解决方案

【关键字】解决网站html静态化解决方案篇一:关于网页是否要静态化HTML的问题关于网页是否要静态化HTML的问题很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?有人问关于网页静态化的问题:很多人提倡在网站设计时将页面静态化,难道页面静态化就没有什么缺点吗?专家回答如下:虽然页面静态化在一定程度上提高了页面访问速度和有利于搜索引擎优化以外,其实静态化带来的问题和后续成本也是不容忽视的:1、由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问题,导致需要大量的服务器设备;2、程序将频繁地读写站点中较大区域内容,导致硬件损耗大、站点备份麻烦;3、页面维护的复杂性和大工作量,增加了革新维护难度和网站管理人员工作强度。
楼上说的有道理,不是每个网站都耗得起这个成本,如果你们公司的开发人员实力和时间都允许,那么可以实施你们的网站静态化,否则不提倡。
页面静态化有利用于蜘蛛的抓取,可以增加网页的权重. 楼上的楼上,不用担心,网页的静态化不会增加多少磁盘容量,一个网页也就是几十K,现在硬盘很便宜.页面的维护不会有问题,网站后台还是采用动态的数据库管理,前台显示页面,可以生成静态的html 篇二:WEB网站架构分析HTML静态化HTML静态化1 介绍其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。
但是对于大量内容并且频繁革新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。
除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有革新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。
静态HTML网页制作

第五章静态HTML网页制作5.1 HTML文件编辑环境介绍5.1.1常用名词在学习网页制作之前,我们有必要先了解一些常用的概念。
(1)WWW万维网“万维网”(Word Wide Web)简称WWW,这是号称除了报纸、广播、电视外的第四大传播媒体。
(2)Browser浏览器要观看万维网上的内容,一个必要条件是要有一个万维网浏览器。
目前常用的浏览器是微软(Microsoft)公司的Internet Explorer(简称IE),网景公司(Netscape)的Communicator (通讯家),还有Opera等。
(3)WebPage网页当你浏览一个网站时,网站中的每一页都称为一个“网页”。
网页是用来显示各种数据与信息的,它由文字、图片、声音、动画等组件组成。
每个网页都是一个文件,我们通过浏览器可以查看其内容。
(4)HomePage主页当你上网浏览某个网站时,我们进入网站最先看到的网页称为“主页”,也叫作“首页”,这有点像自己家的门面一样。
一般的网站管理者为了吸引上站者的眼球,都将主页做得很炫、很漂亮。
(5)Web Site网站“网站”就是用来存放网页文件的地方,通过浏览器便可以浏览网站上面的网页。
(6)Hypertext超文本“超文本”文件本身是一个文本文件,但其内容和一般文本文件又不一样,除了有一般信息内容之外,还有一些加注性描述用来产生特殊效果,在显示文件时,浏览器先根据加注性描述对信息内容进行处理,最后才把结果展示给浏览者。
这种文件当然也可以用一般的文字编辑软件打开,但却看不到加注性描述所产生的特殊效果,因为一般的文字编辑软件不能像浏览器那样根据加注性描述对信息内容进行处理。
(7)Hyperlink超级链接万维网能风行全球当然有其原因:美丽而动态的画面,方便而简易的使用界面,精彩而富于变化的内容,这些都是它的引人之处;但除了这些之外,它还有一个成功的利器,即它的无限的超级链接能力。
譬如它具有网站内部网页间彼此连接的能力,我们称为“内部超级链接”,还可以连接到其他网站,我们称之为“外部超级链接”。
ASP生成静态页面的方法

ASP生成静态页面1. 什么是动态网页和静态网页动态网页:一般指的是采用ASP,,JSP,PHP,Cold Fusion,CGI等程序动态生成的页面,该网页中的大部分数据内容来自与网站相连的数据库。
这个页面在网络空间中并不存在,动态网页往往容易给人留下深刻的印象。
此外,动态网页还具有容易维护、更新的优点。
首先网页获得用户的指令,然后网页拿着指令到数据库中找和指令对应的数据,然后传递给服务器,通过服务器的编译把动态页面编译成标准的HTML代码,传递给用户浏览器,这样用户就看到了网页。
问题出来了,每次访问网页都要经过这么一个过程,这一过程至少需要几秒钟的时间,访问的人数一多,页面的加载速度就会变慢,对服务器来说也是一种负担;从用户角度来说,网页加载的慢,所以大型网站都是静态网页呈现。
绝大多数的搜索引擎都已支持动态页面的抓取,这就是我们现在这些搜索引擎进行搜索时,结果中出现动态链接的原因,但抓取的数量比静态页面要差的很多倍。
静态网页:静态网页就简单了,静态网页是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。
由此可见,动态网页在访问速度上并不占优势。
但是静态网页也有自己的缺陷,由于占用空间比较大,需要大量的服务器,花费上要高于动态网页网站。
伪静态:论坛和留言系统程序由于评论的人较多,更新速度较快,用纯静态可以说是不起实际,但是用纯静态搜索引擎非常不友好,这时候就出现了一种新的技术,伪静态。
伪静态的缺点是页面访问速度较慢,cpu占用资源较大,如果是ISS数是1000的网站,当有300人同时在线的时候就会出现错误。
但是伪静态对收录同样能起到非常好的作用。
2. 为什么要生成静态页面在三年前,有百分之八十的网站要求做成动态的。
也就是从那个时候也就是ASP的发展高峰期。
一些静态网页也要求做成动态网站。
但是这二年来,网站要求做成静态的。
也就是网页要求静态化。
为什么会有这样的变化?到底意味着什么?目前网页HTML静态化是利用其它的动态技术生成HTML静态页面,还不是静态网站。
ASP网站伪静态的多种方法

ASP生成静态网页的多种方法使用FSO生成<%'使用FSO生成Set fs = CreateObject("Scripting.FileSystemObject")NewFile=Server.MapPath("ud03/fso.htm")'新建一文件fso.htm,若该文件已存在,则覆盖它Set a = fs.CreateTextFile(NewFile, True)Response.Write"新文件已建立!"a.closeFile=Server.MapPath("ud03/fso.htm")Set txt=fs.OpenTextFile(File,8,True) '打开成可以在结尾写入数据的文件data1="这句话是使用WriteLine方法写入的。
!<Br>"txt.WriteLine data1data2="这句话是使用Write方法写入的。
<Br>"txt.Write data2txt.Close%>使用XMLHTTP生成<%'使用XMLHTTP生成Set xml = Server.CreateObject("Microsoft.XMLHTTP")'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径xml.Open "GET", "/ud03/", Falsexml.SendBodyText=xml.ResponseBodyBodyText=BytesToBstr(BodyText,"gb2312")Set xml = NothingDim fso, MyFileSet fso = CreateObject("Scripting.FileSystemObject")Set MyFile= fso.CreateTextFile(server.MapPath("ud03.htm"), True) '生成的html的文件名MyFile.WriteLine(BodyText)MyFile.Close'使用Adodb.Stream处理二进制数据Function BytesToBstr(strBody,CodeBase)dim objStreamset objStream = Server.CreateObject("Adodb.Stream")objStream.Type = 1objStream.Mode =3objStream.OpenobjStream.Write strBodyobjStream.Position = 0objStream.Type = 2objStream.Charset = CodeBaseBytesToBstr = objStream.ReadTextobjStream.Closeset objStream = nothingEnd Function%>使用XMLHTTP批量生成<%'使用XMLHTTP批量生成dim strUrl,Item_Classid,id,FileName,FilePath,Do_Url,Html_Temp Html_Temp="<UL>"For i=1 To 30 '需要生成的id:1到30Html_Temp = Html_Temp&"<LI>"Item_Classid = iFileName = "Archives_"&Item_Classid&".htm" '生成的html文件名FilePath = Server.MapPath("/")&"\"&FileNameHtml_Temp = Html_Temp&FilePath&"</LI>"Do_Url = "/ud03/index.php" 'WEB路径Do_Url = Do_Url&"?p="&Item_Classid 'WEB路径之后的ID strUrl = Do_Urldim objXmlHttpset objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP") objXmlHttp.open "GET",strUrl,falseobjXmlHttp.send()Dim binFileDatabinFileData = objXmlHttp.responseBodyDim objAdoStreamset objAdoStream = Server.CreateObject("ADODB.Stream") objAdoStream.Type = 1objAdoStream.Open()objAdoStream.Write(binFileData)objAdoStream.SaveToFile FilePath,2objAdoStream.Close()NextHtml_Temp = Html_Temp&"<UL>"%><%Response.Write ( "成功生成文件:" )Response.Write ( "<BR>" )Response.Write Html_Temp%>ASP用标签替换的方法生成静态网页大家都知道HTML静态网页更容易被搜索引擎收录索引,动态生成HTML网页,也可使网站的网页数量增多,搜索引擎收录的数量也可能多,再加下提高网页的质量也意未着什么呢?我想大家也知道。
C#动态页面aspx生成静态html解决方案!

C#动态页⾯aspx⽣成静态html解决⽅案!写在前⾯由于⽹站改版的缘故,为了提⾼性能.想把所有的动态⽹页⽣成静态的⽹页,为了不影响搜索引擎的搜索排名,但⼜希望静态的⽹页也能够根据需要能够实时的更新(-_- 鱼的熊掌总是不能兼得的).为了此⽬的,在⽹上搜索了很长时间,找了半天才找到⼏篇的⽂章,可是还是英⽂的,为⽅便⼤家,现我把它翻译出来.原⽂地址喜欢看英⽂的可以直接看英⽂,这是我在⽹络上翻译的⽂章,希望转载我⽂章的⼈不要删除下⾯这段(yolon ,游龙经典博客在线 ).正⽂ok,开始我们的翻译:如何⽤C#实现动态页⾯aspx的静态html转换卷⾸这篇⽂章将⼀步⼀步的说明如何从⼀个流中得到静态的html页并把它下载到⼀个⽂件中,当你⽤⼀个FileStream对象并把Response.Filter属性设置到这个FileStream对象时,所有的Response.Write的http输出都将写⼊到⽂件中.新建⼀个web Form建⽴⼀个web Form:1,在visual C#.net 中新建⼀个名为ASPNETFilter的web实⽤程序⼯程'2,右键点击WebForm1.aspx的设计窗⼝.3,选择"查看html代码"'4,⽤下⾯的代码替换掉已有的代码.<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="ASPNETFilter.WebForm1" %><HTML><HEAD><title>SaveResponse</title></HEAD><body><form id="SaveResponse" method="post" runat="server"><asp:TextBox ID="TextBox1" Text="Textbox 1" Runat="server" /><br><asp:ListBox ID="Listbox1" Runat="server" Size="3"><asp:ListItem Value="0">Zero</asp:ListItem><asp:ListItem Value="1" Selected="True">One</asp:ListItem><asp:ListItem Value="2">Two</asp:ListItem></asp:ListBox><br><asp:CheckBox ID="Checkbox1" Runat="server" Checked="True" Text="Checkbox 1" /></form></body></HTML>建⽴ResponseFilter 类建⽴ResponseFilter类:1,添加⼀个名为ResponseFilter.cs的新类(实际上是⼀个新的.cs⽂件)2,⽤下⾯的代码替换掉已有的代码.using System;using System.IO;namespace ASPNETFilter{public class ResponseFilter : Stream{private Stream m_sink;private long m_position;private FileStream fs;public ResponseFilter(Stream sink){m_sink = sink;fs = new FileStream(@"C:\FilterOutput\response.htm", FileMode.OpenOrCreate, FileAccess.Write);}// The following members of Stream must be overriden.public override bool CanRead{get { return true; }}public override bool CanSeek{get { return false; }}public override bool CanWrite{get { return false; }}public override long Length{get { return 0; }}public override long Position{get { return m_position; }set { m_position = value; }}public override long Seek(long offset, System.IO.SeekOrigin direction){return 0;}public override void SetLength(long length){m_sink.SetLength(length);}public override void Close(){m_sink.Close();fs.Close();}public override void Flush(){m_sink.Flush();}public override int Read(byte[] buffer, int offset, int count){return m_sink.Read(buffer, offset, count);}// Override the Write method to filter Response to a file.public override void Write(byte[] buffer, int offset, int count){//Write out the response to the browser.m_sink.Write(buffer, 0, count);//Write out the response to the file.fs.Write(buffer, 0, count);}}注意:在你运⾏这个程序之前:1:建⽴⼀个⽂件夹c:\FilterOutput.2.给这个⽂件夹赋于读与写的权⼒(可以设置⽂件夹的属性).⽤ResponseFilter.cs类1,在解决⽅案⾯板中选择WebForm1.aspx.2.右键单击,选择查看源码.3.在OnInit事件中添写如何代码:Response.Filter = new ResponseFilter(Response.Filter);测试ResponseFilter1.保存改变到ASPNETFilter⼯程.2.选择⽣成菜单,选择⽣成解决⽅案.3.打开IE,指定具体路径,打开WebForm1.aspx,如下,把IISServerName改成你服务器名字:4.在c:\FilterOutput⽂件夹下找到Response.htm⽂件参考⽂献:更多的信息请访问Microsoft Developer Network (MSDN)⽹站. HttpResponse.Filter Property好了,⽂章翻译完了,也该回去吃饭了(-_-),希望这篇⽂章对你有所帮助!!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2,ASP2HTML。不要我再说ASP转变成HTML的好处了吧,呵呵,其中最值得知道的就是:静态HTML页和动态页对服务器的要求承受能力小得多,同样,静态HTML搜索几率远比动态页面的多得多。
那么,我现在需要处理的技术问题就是:
1,如何实现模板技术?(先参看下上篇文章吧)
2,如何实现2HTML技术?
'fString = Replace(fString, CHR(10) & CHR(10), "</p><p> ")
'fString = Replace(fString, CHR(10), "<br> ")
If Not IsNull(fString) Then
fString = trim(fString)
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'") '单引号过滤
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
其实嘛,就是以年月日时分秒命名的文件。
iv,最后,生成的文件该如何查看到?当然需要把生成文件的路径保存的数据库中,并且添加到相对应的记录集中了。当然,这在下面的数据库设计时会提及到。
3,模板技术和2HTML技术的结合:将模板中特殊代码的值替换为从表单接受过来的值,完成模板功能;将最终替换过的所有模板代码生成HTML文件。需要注意的是:替换应能将输入数据的格式或者支持UBB的代码彻底改变。
'If not isnull(fString) then
'fString = replace(fString, ">", ">")
'fString = replace(fString, "<", "<")
'fString = Replace(fString, CHR(32), " ")
ii,我在试图通过以上方法建立文件夹的时候,又发现了第二个问题。第一次通过FSO建立以当前日期命名的文件夹,没有问题。当我有新的文件需要生成时,因为是同一个程序,所以,其又将会执行建立同样的文件夹。此时,FSO组件会发现该路径已存在……卡壳-_-! 继续处理,在首行添加代码:
On Error Resumeห้องสมุดไป่ตู้Next
三,页面需求设计
1,首先建立一个存放HTML页的文件夹
在文件同一目录下,建立文件夹newsfile,夹子内部主要存放生成的HTML页面,当然内部还会采用程序方式建立以日期命名的子文件夹,以方便浏览以及管理。
2,功能函数页面lib.asp
<%
'生成文件名的函数
function makefilename(fname)
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=hz">
<title> | ASP2HTML TEST</title>
</head>
<body leftmargin="0" topmargin="0">
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
makefilename=fname & ".shtml"
end function
'保持数据格式不变的函数
Function htmlencode(fString)
<table width="100%" height="100%" border="0" cellpadding="5" cellspacing="2">
<tr align="right" bgcolor="#CCCCCC">
<td height="20" colspan="2">$cntop$</td>
fString = Replace(fString, " ", CHR(32))
fString = Replace(fString, " ", CHR(9))
fString = Replace(fString, """, CHR(34))
fString = Replace(fString, "'", CHR(39))
fname = fname
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
嘿嘿,达到自欺欺人、掩耳盗铃的效果。
iii,文件夹是建立了,文件该如何建立呢?主要也就是文件名的生成。当然这个就需要自己来写个函数,功能就是如何生成文件名:)
<%
function makefilename(fname)
fname = fname '前fname为变量,后fname为函数参数引用
fString = Replace(fString, "", CHR(13))
fString = Replace(fString, "</p><p> ", CHR(10) & CHR(10))
fString = Replace(fString, "<br> ", CHR(10))
uhtmlencode = fString
fString = replace(fString, ";", ";") '分号过滤
fString = replace(fString, "--", "——") '--过滤
fString = replace(fString, "%20", "") '特殊字符过滤
fString = replace(fString, "==", "") '==过滤
c,技术性完成任务,显示刚被创建的HTML文件的路径地址。
该技术的实现过程中有如下几个难点:
i,FSO生成的文件是直接放在一个大文件夹下,还是单独放在某个每日更新的子文件夹中?可能表述不准确,这样理解吧:相信通过FSO生成的文件随着时间的推移,文件会越来越多,管理也会越来越乱……通常你可能看到一些地址诸如 /a/2004-5-20/200405201111.html 可以分析得出应该是建立了当前日期的文件夹。这样,一天就是一个文件夹的页面内容,查看管理也就显得比较合理。
conn.Open connstr
%>
4,信息输入页面add.html
其实很简单:)就是表单嘛。注意action是跳转到addit.asp
<form action="addit.asp" method="post">
title:<input type="text" ><br>
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
makefilename = fname & ".html"
end function
%>
引用函数则:
<%fname = makefilename(now())%>
二,再进行数据库设计
目前数据库的设计需要两个表:一个是存放模板数据的;一个是存放信息内容的。