asp 静态页面实现方法

实现静态html页面有几种方法,一种是利用了isapi_rewrite进行动态链接重写html静态网址,一种是利用了asp程序来实例,如是实例2,3哦,还有一种就是真实的静态页面,看实例四。
1、使用isapi_rewrite进行动态链接重写html静态网址。isapi_rewrite是一个dll组件,re_write是iis里的一个模块。这个筛选器实现是通过正则表达式,将动态网页网址映射成为静态网址。如可将news.asp?id=95通过re_write将其转换成news/95.html。映射的正则表达式在httpd.ini文件里进行设置。
  举个小小例:处理数据翻页,那么写法是:
more_<%=page%>_<%=type%>.html (注:page是翻页页数,type是数据类型)表现形式:more_1_95.html
如果翻下一页,则为:more_2_95.html,继续下一页的循环,则是:
more_3_95.html,以此类推。
不过你需要在httpd.ini文件中增加以下代码: 
rewriterule /more_(d+)_(d+).html /jsp教程/more.asp?page=$1&type=$2 [n,i] 字串9 
如果你的动态程序有多个参数需要传递,那么就增加多个(d+)即可,如下:
rewriterule /more_(d+)_(d+)_(d+).html /asp/more.asp?page=$1&type=$2&type2=$3 [n,i]
    优点:在程序上基本不需做什么变化。麻烦:要实现这个需要对iis进行控制,所以当你租用别人的服务器时,则需要先跟服务商联系。(当然这个是对asp而言,asp.net教程就不用——直接将dll程序集放到程序中的bin再适当的配置即可实现)
    2、iis的404错误处理机制:通过自定义错误,转向我们准备好的处理页。不过这种可拓展性有待研究,对程序处理的统筹要求也高,不大适合实际应用的样子。
    首先,设置站点属性-自定意错误
找到http错误404,然后编辑属性->消息类型选中url->url填入"/index.asp",或您的错误处理页面.    
    这样,比如用户或蜘蛛访问http://cn/12345.html  时(12345为文章在数据库教程的id).由于些页面不存在,所以触发了404错误.转向了index.asp
在index.asp里加
currdomain=request.servervariables("http_host") '当前访问域名
currurl=replace(request.servervariables("query_string"),"404;http://"&currdomain&":80","")  '当前访问url
此时的currurl应该是:12345.html .

3.
1.新建一个文件夹info   (因为最终访问信息的页面url为http://localhost/info/?1.html)

2.在info文件夹下新建一个default.asp文件(就是默认首页的那个页面)

default.asp文件的内容如下

 <%

currdomain=request.servervariables("http_host") '当前访问域名
currurl=replace(request.servervariables("query_string"),"404;http://"&currdomain&"/info/?","") '当前访问url
id=replace(currurl,".html","")
%>

其中id即是传入的参数

如果是多个参数可以把url伪静态化为info/?1-2-3.html

其中1,2,3各代表三个参数的值,分隔字符串分别提出即可。

真实html静态页面

把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 
  %>

 

时间: 2024-09-20 00:46:18

asp 静态页面实现方法的相关文章

PHP生成静态页面的方法

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法.页面静态化的方法,分为两种,一种是伪静态,就是url 重写,一种是你真的静态化.下面介绍PHP中页面静态化的方法. 什么是PHP静态化 PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处

jsp实现将动态网页转换成静态页面的方法_JSP编程

本文实例讲述了jsp实现将动态网页转换成静态页面的方法.分享给大家供大家参考.具体如下: 如果我可以将jsp动态网页转换成静态页面,那么访问的时候就不需要频繁的访问数据库了. jsp 显示内容缓存技巧 前段时间做自己社区的论坛,在jive 的基础上做一个页面显示所有论坛的帖子,可以称之为总版,模仿forum 类的接口做个superforum 并且实现cachable,不过因为这个页面刷新量比较大,虽然被cache 了,我还是想办法进行页面的缓存,感觉用jsp 产生的html静态内容当缓存,页面访

JSP技术实现动态页面到静态页面的方法_JSP编程

本文是介绍了jsp技术实现动态页面到静态页面的方法,分享给大家,具体如下: 对于JSP技术实现动态页面到静态页面的方案,我们从三个步骤来说明: JSP技术实现动态页面到静态页面的方案第一: 为了能深入浅出的理解这个框架的由来,我们首先来了解一下JSP解析器将我们写的JSP代码转换成的JAVA文件的内容. 下面是一个JSP文件test.jsp ﹤%@ page language=java contentType=text/html;charset=GB2312 %﹥ ﹤% out.write(﹤!

ASP生成静态页面的方法

静态|页面|静态 ASP2HTML WITH TEMPLET我希望大家看到该标题就能让想象到它的功能: 1,WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模板应熟悉下.(当然,不看也没有问题,本教程同样会提及精华部分的:)具体参考:http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=474 2,ASP2HTML.不要我再说ASP转变成HTML的好处

asp中静态页面实现方法_ASP基础

1.使用isapi_rewrite进行动态链接重写html静态网址.isapi_rewrite是一个dll组件,re_write是iis里的一个模块.这个筛选器实现是通过正则表达式,将动态网页网址映射成为静态网址.如可将news.asp?id=95通过re_write将其转换成news/95.html.映射的正则表达式在httpd.ini文件里进行设置. 举个小小例:处理数据翻页,那么写法是: more_<%=page%>_<%=type%>.html (注:page是翻页页数,t

ASP中不用模板生成HTML静态页面的方法_应用技巧

当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.html的),htmer_to_html.asp的具体代码如下所示: 复制代码 代码如下: <form method="post" action="&quo

ASP中不用模板生成HTML静态页面的方法

当然是可以的,而且非常简单,今天就教大家在ASP中不用模板生成HTML静态页的方法. 这里假设有一个htmer.asp动态页面,你想把它生成为HTML静态页面htmer.html,那么我们首先新建一个ASP程序文件htmer_to_html.asp(该文件就是用来将htmer.asp动态页面生成为静态页面htmer.html的),htmer_to_html.asp的具体代码如下所示: 复制代码 代码如下: <form method="post" action="&quo

asp中静态页面实现方法

1.使用isapi_rewrite进行动态链接重写html静态网址.isapi_rewrite是一个dll组件,re_write是iis里的一个模块.这个筛选器实现是通过正则表达式,将动态网页网址映射成为静态网址.如可将news.asp?id=95通过re_write将其转换成news/95.html.映射的正则表达式在httpd.ini文件里进行设置. 举个小小例:处理数据翻页,那么写法是: more_<%=page%>_<%=type%>.html (注:page是翻页页数,t

将ASP动态网页转换成HTM静态页面的方法

动态|静态|网页|页面|转换 前段时间有个asp页面执行起来很慢,访问人数又颇多,而且又不经常修改,又懒得直接做成静态的,每次都要从服务器下载来改,只好想办法把asp页面转化成htm静态页面了. 以前就曾经看到这样的文章,不过没太在意,真正想用的时候很难找到一个合适的,于是在网上搜索了半天终于找到比较合适的代码再加上自己的修改,如下: <%Function GetPage(url)  '获得文件内容 dim Retrieval Set Retrieval = CreateObject("M