Asp网站源码生成静态(asp动态网站制作教程)
本文目录一览:
ASP网页如何转换成HTM或HTML静态页面
1,这个不是页面源代码,因为页面源代码不可能包含有“<%%>”类的符号。
2,在网页上查看源文件后,复制源码,存为html文件,作为模板。
3,利用FSO在ASP程序中替换模板中的需要更新的部分,生成HTML。
这是生成HTML的大概方法,具体方法可以联系我。
一个已经做好的asp网站怎么转静态
1 手工静态化 使用离线浏览器可以直接下载全站 产生静态站
2 代码静态化, 这个牵涉的东西就多了 自行搜索 asp静态生成
3 伪静态化 搜索 asp服务器伪静态化设置
asp网页可以生成静态吗?
可以得!
1)asp生成html的方式
要生成文件肯空要用到FSO(FileSystemObject)组件,通过asp生成静态网页主要有两种方式:
a、生成的内容由多部分连接而成;
b、生成的内容基于模板生成。
2)方式1:生成的内容由多部分连接而成
步骤:
a、设计要输出网页的布局
b、设计生成HTML的asp文件
例子:
输出网页的布局:
html
head
title标题/title
style type="text/css"
!--
.article_title {
font-size: 22px;
font-weight: bold;
text-align: center;
padding-top: 10px;
padding-bottom: 20px;
}
.content {
text-indent: 18px;
font-size: 16px;
line-height: 230%;
text-align: left;
}
.from {
font-size: 14px;
text-align: right;
padding-right: 15px;
padding-top: 15px;
}
.feature_bar {
font-size: 14px;
color: #999999;
text-align: center;
padding-bottom: 15px;
}
--
/style
/head
body
table width="80%"
tr
tddiv class="59fd-4589-c222-689c article_title"标题/div
div class="4589-c222-689c-9503 feature_bar"作者: 录入时间: 录入: /div
div class="c222-689c-9503-ef5e content"内容/div
div class="689c-9503-ef5e-b6dd from"来源:/div /td
/tr
/table
/body
/html
把源代码中的所有的 " 替换成 "",作用是在ASP中输出双引号。
设计asp文件:
% Option Explicit %
html
head
titleASP生成HTML/title
style type="text/css"
!--
.align_right_top {
text-align: right;
vertical-align: top;
}
.align_left_10px {
text-align: left;
padding-left: 10px;
}
--
/style
/head
body
form method="post" action="?action=create"
table width="80%"
tr
td class="9503-ef5e-b6dd-76ac align_right_top" HTML文件名称:/td
td class="ef5e-b6dd-76ac-d7ad align_left_10px"input name="HtmlFileName" type="text" id="HtmlFileName" //td
/tr
tr
td class="b6dd-76ac-d7ad-aec6 align_right_top" 文章标题:/td
td class="76ac-d7ad-aec6-cf83 align_left_10px"input name="title" type="text" id="title" //td
/tr
tr
td class="d7ad-aec6-cf83-8917 align_right_top"作者:/td
td class="aec6-cf83-8917-6b17 align_left_10px"input name="author" type="text" id="author" //td
/tr
tr
td class="cf83-8917-6b17-33ad align_right_top"录入:/td
td class="2c8f-3824-5f70-ce92 align_left_10px"input name="editor" type="text" id="editor" //td
/tr
tr
td class="3824-5f70-ce92-59fd align_right_top"输入时间:/td
td class="5f70-ce92-59fd-4589 align_left_10px"input name="EditTime" type="text" id="EditTime" //td
/tr
tr
td class="ce92-59fd-4589-c222 align_right_top"文章内容:/td
td class="59fd-4589-c222-689c align_left_10px"textarea name="content" cols="55" rows="20" id="content"/textarea/td
/tr
tr
td class="4589-c222-689c-9503 align_right_top"来源:/td
td class="c222-689c-9503-ef5e align_left_10px"input name="from" type="text" id="from" //td
/tr
tr
td colspan="2" align="center"input type="submit" name="Submit" value="提交" //td
/tr
/table
/form
%
if Trim(Request.QueryString("action"))="create" then
dim title , author , editor , EditTime , content , from , html
title=Trim(Request.Form("title"))
editor=Trim(Request.Form("editor"))
EditTime=Trim(Request.Form("EditTime"))
content=Trim(Request.Form("content"))
from=Trim(Request.Form("from"))
html="html"_ '粘贴上面的修改后的 输出网页布局的源代码
"head"_ ‘并用 _ 与 把各行连接起来 或删除多余空格使源代码写在一行
"title"title"/title"_
"style type=""text/css"""_
".article_title {"_
"font-size: 22px;"_
"font-weight: bold;"_
"text-align: center;"_
"padding-top: 10px;"_
"padding-bottom: 20px;"_
"}"_
".content {"_
"text-indent: 18px;"_
"font-size: 16px;"_
"line-height: 230%;"_
"text-align: left;"_
"}"_
".from {"_
"font-size: 14px;"_
"text-align: right;"_
"padding-right: 15px;"_
"padding-top: 15px;"_
"}"_
".feature_bar {"_
"font-size: 14px;"_
"color: #999999;"_
"text-align: center;"_
"padding-bottom: 15px;"_
"}"_
"/style"_
"/head"_
"body "_
"table width=""80%"""_
"tr"_
"tddiv class="689c-9503-ef5e-b6dd "article_title"""title"/div"_
"div class="9503-ef5e-b6dd-76ac "feature_bar""作者:"author" 录入时间:"EditTime" 录入:"editor" /div"_
"div class="ef5e-b6dd-76ac-d7ad "content"""content"/div"_
"div class="b6dd-76ac-d7ad-aec6 "from""来源:"from"/div /td"_
"/tr"_
"/table"_
"/body "_
"/html"
dim HtmlFileName ,HtmlFile , fs , FileStream
HtmlFileName=Trim(Request.Form("HtmlFileName"))
if instr(HtmlFileName,".html")=false then
HtmlFileName="NoName.html"
end if
HtmlFile=Server.MapPath(HtmlFileName)
set fs=CreateObject("Scripting.FileSystemObject")
set FileStream=fs.CreateTextFile(HtmlFile)
FileStream.WriteLine Html
FileStream.close
set FileStream=nothing
response.Write("scriptalert('生成"HtmlFileName"文件成功!');history.go(-1);/script")
end if
%
/body
/htm
把上面的asp文件保存放到服务器上即可运行
3)方式2:生成的内容基于模板生成
思想:
给模板asp传递参数,使用“MSXML2.XMLHTTP”读取基于参数传递的asp模板的网页源代码,
再使用FSO组件生成静态网页。
步骤:
a、设计有参数传递的asp模板
b、设计asp控制页
设计asp模板:(保存成template.asp)
% Option Explicit %
%
dim HtmlFileName ,title , author , editor ,EditTime ,content ,from
HtmlFileName=Trim(Request.QueryString("HtmlFileName"))
title=Trim(Request.QueryString("title"))
author=Trim(Request.QueryString("author"))
editor=Trim(Request.QueryString("editor"))
EditTime=Trim(Request.QueryString("EditTime"))
content=Trim(Request.QueryString("content"))
from=Trim(Request.QueryString("from"))
%
html
head
title%= title %/title
style type="text/css"
!--
.article_title {
font-size: 22px;
font-weight: bold;
text-align: center;
padding-top: 10px;
padding-bottom: 20px;
}
.content {
text-indent: 18px;
font-size: 16px;
line-height: 230%;
text-align: left;
}
.from {
font-size: 14px;
text-align: right;
padding-right: 15px;
padding-top: 15px;
}
.feature_bar {
font-size: 14px;
color: #999999;
text-align: center;
padding-bottom: 15px;
}
--
/style
/head
body
table width="80%"
tr
tddiv class="76ac-d7ad-aec6-cf83 article_title"%= title %/div
div class="d7ad-aec6-cf83-8917 feature_bar"作者:%= author % 录入时间:%= EditTime % 录入:%= editor % /div
div class="aec6-cf83-8917-6b17 content"%= content %/div
div class="cf83-8917-6b17-33ad from"来源:%= from %/div /td
/tr
/table
/body
/html
设计asp文件:(保存成html.asp)
% Option Explicit %
html
head
titleASP生成HTML/title
style type="text/css"
!--
.align_right_top {
text-align: right;
vertical-align: top;
}
.align_left_10px {
text-align: left;
padding-left: 10px;
}
--
/style
/head
body
form method="post" action="?action=create"
table width="80%"
tr
td class="2c8f-3824-5f70-ce92 align_right_top" HTML文件名称:/td
td class="3824-5f70-ce92-59fd align_left_10px"input name="HtmlFileName" type="text" id="HtmlFileName" //td
/tr
tr
td class="5f70-ce92-59fd-4589 align_right_top" 文章标题:/td
td class="ce92-59fd-4589-c222 align_left_10px"input name="title" type="text" id="title" //td
/tr
tr
td class="59fd-4589-c222-689c align_right_top"作者:/td
td class="4589-c222-689c-9503 align_left_10px"input name="author" type="text" id="author" //td
/tr
tr
td class="c222-689c-9503-ef5e align_right_top"录入:/td
td class="689c-9503-ef5e-b6dd align_left_10px"input name="editor" type="text" id="editor" //td
/tr
tr
td class="9503-ef5e-b6dd-76ac align_right_top"输入时间:/td
td class="ef5e-b6dd-76ac-d7ad align_left_10px"input name="EditTime" type="text" id="EditTime" //td
/tr
tr
td class="b6dd-76ac-d7ad-aec6 align_right_top"文章内容:/td
td class="76ac-d7ad-aec6-cf83 align_left_10px"textarea name="content" cols="55" rows="20" id="content"/textarea/td
/tr
tr
td class="d7ad-aec6-cf83-8917 align_right_top"来源:/td
td class="aec6-cf83-8917-6b17 align_left_10px"input name="from" type="text" id="from" //td
/tr
tr
td colspan="2" align="center"input type="submit" name="Submit" value="提交" //td
/tr
/table
/form
%
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
set http=nothing
if err.number0 then err.Clear
end function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
%
%
if Trim(Request.QueryString("action"))="create" then
dim title , author , editor , EditTime , content , from , html
title=Trim(Request.Form("title"))
editor=Trim(Request.Form("editor"))
EditTime=Trim(Request.Form("EditTime"))
content=Trim(Request.Form("content"))
from=Trim(Request.Form("from"))
'读取传递参数后的模版源代码,地址根据具体情况而定
html=getHTTPPage(""_
"?title="title"editor="editor"EditTime="_
EditTime"content="content"from="content"")
dim HtmlFileName ,HtmlFile , fs , FileStream
HtmlFileName=Trim(Request.Form("HtmlFileName"))
if instr(HtmlFileName,".html")=false then
HtmlFileName="NoName.html"
end if
HtmlFile=Server.MapPath(HtmlFileName)
set fs=CreateObject("Scripting.FileSystemObject")
set FileStream=fs.CreateTextFile(HtmlFile)
FileStream.WriteLine Html
FileStream.close
set FileStream=nothing
response.Write("scriptalert('生成"HtmlFileName"文件成功!');history.go(-1);/script")
end if
%
/body
/htm
把template.asp与html.asp 放在同一目录通过服务器运行后即可。
4)结论
通过比较可以看出,通过方式一生成的html文件源代码比较乱,而通过模板生成的html文件源代码跟原先模板的源代码一致。
asp如何生成html静态网页
生成HTML方法主要步骤只有两个:
一、获取要生成的html文件的内容
二、将获取的html文件内容保存为html文件
目前常用获取html文件的内容的方法有以下几种:
1、
str="html标记内容/html标记"
str=str"html标记内容/html标记html标记数据库读取内容..../html标记....."
这种方法与是在脚本内写要生成的html内容,不太方便预览生成页面的内容,无法可视化布局页面,更改html模板时会更加复杂。
用这种方法的人很多,但我感觉这种方法是最不方便的。
2、 制作单独的HTML模板页,动态的内容用特定的字符作为标记(如:有人用$title$标记为网页标题),用ADODB.Stream或者Scripting.FileSystemObject将其模板内容载入,然后再用替换方法把原先定好的标记替换为动态内容
如:
Replace(载入的模板内容,"$title$",rs("title" ) )
3、 用XMLHTTP或serverXMLHTTP获取动态页所显示的HTML内容,