仓酷云

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

[学习教程] ASP网页编程之asp能够静态Include文件吗?

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:19:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;include|静态能够静态Include文件吗?
2001年4月23日
甚么是静态Include?

解答

我们从一个案例谈起:
<%
失掉用户地点的省分
DimProvince
Province=Request.form("Province")
上面显现这个省分相干的信息
%>
<!--#includevirtual="/Province/<%=Province%>"-->
你以为下面的代码能够事情吗?不!复杂地利用ASP来到达静态包括,你不克不及到达你想要的效果。为何?由于:Include命令先于ASP代码而失掉实行,以是,下面的代码并没有依照作者的志愿,先失掉用户地点的省分,再包括这个省分的信息!

假如你的确必要静态包括,你能够如许做:
<%
SelectCaseProvince
Case1:%>
<!--#includefile="1.asp"à
<%Case2:%>
<!--#includefile="2.asp"à
<%Case3:%>
<!--#includefile="3.asp"à
<%EndSelect%>

应当说,这段代码能够失掉你想要的了局。可是,因为你的用户大概来自于33个省,你岂非包括33个文件?出格要申明的是,SSInc.dll是不晓得你事实必要哪一个包括文件的(现实上,这时候候Province还没有值),以是,她把一切的文件都包括出去了!你能够设想,这时候候的文件有多年夜!然后,ASP.DLL会往扫描这个文件中的ASP代码,然后实行!
以是,每当如许的时分,你应当思索其他的思绪,好比数据库,大概接纳FileSystemObject。

如何静态Include文件?

解答
ASP程序员常常面对的最年夜应战之一是静态Include文件。因为#include在ASP代码实行之前处置,以是,看起来,动if/else的头脑是不成能的。
真是如许吗?
依据你利用Include的目标,和你将Include的文件数量,利用if/else大概能够办理成绩。但这相对不是任什么时候候能够见效的,并且也不是一种无效的办理举措,由于你必要做很多的手工事情。
假定有两个样本HTM文件,1.htm和2.htm,为简化起见,假定文件的内容以下:
<!--1.HTM:-->
<fontcolor=#ff0000>Thisis1.htm</font>
<!--2.HTM:-->
<fontcolor=#0000ff>Thisis2.htm</font>
如今我们来尝尝静态Include:
<%
ifrequest.querystring(‘param‘)=‘2‘then
%>
<!--#includefile=‘2.htm‘-->
<%
else
%>
<!--#includefile=‘1.htm‘-->
<%
endif
%>
请注重:下面的两个#include实践上都失掉了处置。你能够实践运转一下,看看效果:http://localhost/Test.asp?param=1
http://localhost/Test.asp?param=2
http://localhost/Test.asp
下面我们是把一个querystring作为前提。你还能够把工夫、日期、扫瞄器版本等作为前提。可是,前提越庞大,这类办法的效力越差。上面供应了别的一种思绪:
<%
ifrequest(‘param‘)=‘2‘then
filespec=‘2.htm‘
else
filespec=‘1.htm‘
endif
filespec=server.mapPath(filespec)
scr=‘scripting.fileSystemObject‘
setfs=server.createobject(scr)
setf=fs.openTextFile(filespec)
content=f.readall
setf=nothing
setfs=nothing
response.write(content)
%>
在IIS5.0/ASP3.0中,有两种新的办法来撑持“静态包括”:
<%
server.transferfilename
server.executefilename
%>
假如恰好利用的是IIS5.0和ASP3.0,那末Ok!可是IIS5.0必要运转在Windows2000上。</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。
小女巫 该用户已被删除
沙发
发表于 2015-1-20 09:30:30 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
admin 该用户已被删除
板凳
发表于 2015-1-24 13:42:32 | 只看该作者
掌握asp的特性而且一定要知道为什么。
柔情似水 该用户已被删除
地板
发表于 2015-2-1 16:13:07 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
简单生活 该用户已被删除
5#
发表于 2015-2-3 13:53:18 | 只看该作者
Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write
兰色精灵 该用户已被删除
6#
发表于 2015-2-9 02:51:11 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
飘灵儿 该用户已被删除
7#
发表于 2015-2-26 19:19:00 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
冷月葬花魂 该用户已被删除
8#
发表于 2015-3-8 16:44:19 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
小魔女 该用户已被删除
9#
发表于 2015-3-22 20:47:17 | 只看该作者
掌握asp的特性而且一定要知道为什么。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:20

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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