仓酷云
标题:
ASP教程之第十一课:ASP内建工具Server
[打印本页]
作者:
柔情似水
时间:
2015-1-16 22:27
标题:
ASP教程之第十一课:ASP内建工具Server
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。经由过程前九篇的实际和理论,信任人人已对ASP有了体系的懂得,固然至今为止,我们只学了ASP的4个内建工具,但已完整可以写出一些有用的小程序了。明天,作者将持续给人人解说最初一个ASP内建工具――Server。
在入手下手本次课程之前,我仍要在这里回覆一些伴侣们提出的对照广泛的成绩。比来仍有很多伴侣来信问我,怎样构建服务器真个ActiveServerPage情况。我想多是我在前几篇中没有讲分明,因而,在本篇的开首有需要把这个成绩具体论述一遍。
ASP的使用完整是基于MicrosoftInternetInfomationServer(简称IIS)之上的,IIS有分离用于WindowsNTServer和WorkStation的两个版本中(固然IIS4.0也有Windows98版,这里临时不提),其功效几近完整不异,所分歧的只是安装历程。一样平常来讲,我们利用的都是基于NT服务器上的IIS版本。在NTServer的情况中,公布信息、办理站点的事情一样平常都是经由过程IIS来完成的。一般我们在NT4.0版本中运转的是IIS2.0版,但它不具有撑持ASP的功效。ASP必需在安装完IIS后独自安装,安装文件是一个微软公布的ASP安装包,约莫有9兆多,应当能够在微软的网站高低载。当IIS2.0中增加了撑持ASP的功效后,其也就主动晋级为3.0版本。2.0和3.0关于WEB服务器来讲,并没有甚么年夜的修改,只是纯真地增添了运转ASP的才能。当安装完成后,运转Internet服务办理器,你将看到以下画面:
能够到在IIS3.0中供应了三种服务:WWW、Gopher、FTP,WWW服务为客户扫瞄器提交WEB页,并同意客户会见.asp文件。固然,你能够间接安装最新的IIS4.0版本,作者也倡议列位安装此版本,由于它具有更强更高的WEB办理性能和平安性。在IIS4.0中IIS的办理界面产生了基本性的改动,熟习的Internet服务办理器,被取而代之为Microsoft办理把持台,简称MMC。其界面以下图:
那末怎样安装IIS4.0呢?在NT4.0上安装IIS4.0时,你的体系中必需已安装了NTSP3,和InternetExplorer4.01,注重这里的InternetExplorer的版本必需是4.01,版本号为4.72.3110.8。这点很主要,不然你将不克不及安装IIS4.0。作者为了安装该版本特地消费了一个早晨在微软的站点上晋级IE版本。
IIS撑持假造目次,经由过程在“服务器属性”对话框中的“目次”标签能够办理假造目次。创建假造目次关于办理WEB站点具有十分主要的意义。起首,假造目次埋没了有关站点目次布局的主要信息。由于在扫瞄器中,客户经由过程选择“检察源代码”,很简单就可以猎取页面的文件路径信息,假如在WEB页中利用物理路径,将表露有关站点目次的主要信息,这简单招致体系遭到打击。其次,只需两台呆板具有不异的假造目次,你就能够在不合错误页面代码做任何修改的情形下,将WEB页面从一台呆板上移到另外一台呆板。另有就是,当你将WEB页面安排于假造目次下后,你能够对目次设置分歧的属性,如:Read、Excute、Script。读会见暗示将目次内容从IIS传送到扫瞄器。而实行会见则可使在该目次内实行可实行的文件。当你必要利用ASP时,就必需将你寄存.asp文件的目次设置为“Excute(实行)”。作者倡议人人在设置WEB站点时,将HTML文件同ASP文件分隔安排在分歧的目次下,然后将HTML子目次设置为“读”,将ASP子目次设置为“实行”,这不但便利了对WEB的办理,并且最主要的进步了ASP程序的平安性,避免了程序内容被客户所会见。由于在往年7月尾的时分IIS被一些收集妙手发明了一个可骇的bug,那就是,当你在一个站点的.asp文件后加上::$DATA后,客户将能在扫瞄器中看到该.asp文件的一切源代码,这关于一个站点来讲长短常可骇的。固然微软已针对这个bug,编写了补钉,可是为了完全根绝这类大概性的产生,作者还一倡议人人不要将.asp地点的目次设置为可读。
我想,如今列位应当已完整懂得ASP的服务器端设置了,上面我们就进进正题--进修ASP的最初一个内建工具Server。
Server工具供应对服务器上的办法和属性的会见,个中年夜多半办法和属性是作为有用程序的功效服务的。有了Server工具,你就能够在服务器上启动ActiveX工具例程,并利用ActiveServer服务供应象HTML和URL编码如许的函数。 1、语法 Server.property|method
2、属性 ScriptTimeout超时价,在剧本运转凌驾这一工夫以后即作超时处置。以下代码指定服务器处置剧本在100秒后超时。
<%Server.ScriptTimeout=100%> 这里必要注重的是,经由过程利用元数据库中的AspScriptTimeout属性能够为Web服务或Web服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不克不及设置为小于在元数据库中指定的值。比方,假如NumSeconds设置为60,而元数据库设置包括了默许值90秒,则剧本在90秒后超时。
3、办法 1、HTMLEncode办法
HTMLEncode方法同意你对特定的字符串举行HTML编码,固然HTML可以显现年夜部分你写进ASP文件中的文本,可是当你必要实践包括HTML标记中所利用的字符,就会碰到成绩。这是由于,当扫瞄器读到如许的字符串时,会试图举行注释。比方上面的这段文本:
这是对HTMLEncode办法的测试。<br>这里应当不会另起一行。
会被扫瞄器显现为:
这是对HTMLEncode办法的测试。
这里应当不会另起一行。
为了不此类成绩,我们就必要利用Server对象的HTMLEncode方法,接纳对应的不由扫瞄器注释的HTMLCharacterCode替代HTML标记字符。以是,用上面的代码才干显现准确的HTMLEncode字符串,从而在扫瞄器中按你的必要输入文本。
<%
Response.writeServer.HTMLEncode("这是对HTMLEncode办法的测试。<br>这里应当不会另起一行。")%>
2、URLEncode办法 就象HTMLEncode方法使客户能够将字符串翻译成可承受的HTML格式一样,Server对象的URLEncode方法能够依据URL规则对字符串举行准确编码,当字符串数据以URL的情势传送到服务器时,在字符串中不同意呈现空格,也不同意呈现特别字符。为此,假如你但愿在发送字符串之行进行URL编码,可使用Server.URLEncode方法。
3、MapPath办法 MapPath办法将指定的绝对或假造路径映照到服务器上响应的物理目次上。
语法以下:Server.MapPath(Path)
Path指定要映照物理目次的绝对或假造路径。若Path以一个正斜杠(/)或反斜杠()开始,则MapPath方法前往路径时将Path视为完全的假造路径。若Path不是以斜杠入手下手,则MapPath方法前往同.asp文件中已有的路径绝对的路径。这里必要注重的是MapPath方法不反省前往的路径是不是准确或在服务器上是不是存在。
关于以下示例,文件data.txt和包括以下剧本的test.asp文件都位于目次C:InetpubWwwrootasp下。C:InetpubWwwroot目次被设置为服务器的宿主目次。以下示例利用服务器变量PATH_INFO映照以后文件的物理路径。以下剧本
<%=server.mappath(Request.ServerVariables("PATH_INFO"))%>
输入
c:inetpubwwwrootasp est.asp
因为以下示例中的路径参数不是以斜杠字符入手下手的,以是它们被绝对映照到以后目次,此处是目次C:InetpubWwwrootasp。以下剧本
<%=server.mappath("data.txt")%>
<%=server.mappath("asp/data.txt")%>
输入
c:inetpubwwwrootaspdata.txt
c:inetpubwwwrootaspaspdata.txt
4、CreateObject办法 Server.CreateObject恐怕是ASP中最为有用,也是最微弱的功效了。它用于创立已注册到服务器上的ActiveX组件实例。这是一个十分主要的特征,由于经由过程利用ActiveX组件可以使你轻松地扩大ActiveX的才能,恰是利用了ActiveX组件,你能够完成相当主要的功效,比如数据库毗连、文件会见、告白显现和其他VBScript不能供应或不克不及复杂地依托独自利用ActiveX所能完成的功效。恰是由于这些组件才使得ASP具有了壮大的性命力。 其语法以下: Server.CreateObject("ComponentName") 默许情形下,由Server.CreateObject方法创立的工具具有页感化域。这就是说,再以后ASP页处置完成以后,服务器将主动损坏这些工具。假如要创立有会话或使用程序感化域的工具,可使用<OBJECT>标志并设置SESSION或APPLICATION的SCOPE属性,也能够在对话及使用程序变量中存储该工具。以下例程: <%SetSession("ad")=Server.CreateObject("MSWC.AdRotator")%> 这里必要注重的是,不克不及创立与内建工具同名的工具实例,不然,以下列剧本将前往毛病。 <%SetResponse=Server.CreateObject("Response")%> 至今为止,我们已进修完了ASP所有的内建工具,不知人人是否是很镇静?实在ASP是很复杂的,只需人人不休的理论,信任一段工夫后都不难成为ASP的妙手。从下一篇起作者将入手下手先容ASP内建ActiveX组件,这也是ASP运用中十分主要和有用的一部分。敬请存眷。
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧
作者:
小女巫
时间:
2015-1-19 12:49
不能只是将它停留在纸上谈兵的程度上。
作者:
若相依
时间:
2015-1-24 15:18
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
作者:
精灵巫婆
时间:
2015-2-1 18:48
ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。
作者:
透明
时间:
2015-2-7 14:27
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者:
柔情似水
时间:
2015-2-22 08:53
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者:
蒙在股里
时间:
2015-3-7 00:03
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
作者:
莫相离
时间:
2015-3-13 23:09
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
作者:
飘飘悠悠
时间:
2015-3-20 21:50
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2