ASP 3.0高级编程(十六)

2016-01-29 19:11 1 1 收藏

ASP 3.0高级编程(十六),ASP 3.0高级编程(十六)

【 tulaoshi.com - ASP 】

  4.3.5 获取Server对象的路径信息
       在对存储在Web网站上的文件进行操作时,需要获得文件的实际的物理路径,而不是使用虚拟路径或URL,尽管在其他网页中能用它们正常地定位文件。下一章中有一个例子,它使用FileSystemObject对Web站点的InetPubWWWRoot文件夹中的文件进行读写。当创建自己的定制组件或者使用商业化的组件对文件系统进行访问时,经常需要为其提供一个文件的物理路径。
       Server对象的MapPath方法
       可以从Request.ServerVariables集合中提取HTTP报头变量,它们包含了当前文件的物理路径(在DOCUMENT_NAME和PATH_TRANSLATED报头中)。Server对象提供了一个方法MapPath,可以使用这个方法对我们能够提供一个有效的虚拟路径的任何文件提取相应的物理路径。可以在已经使用过的示例网页中看到使用MapPath方法,并可试验使用该方法。
       如图4-24所示,在页面的底部的Miscellaneous Methods部分,有一个按钮执行Server.MapPath方法,并提供给它靠近该按钮的文本框中的值。在该网页的源代码中已经把这个值设置为“/iishelp/default.htm”,这个文件应该自动地安装在计算机上。也可以输入另一个网页的URL。

图4-24  使用Server.MapPath的屏幕
       单击该按钮重新装载这个网页,执行该方法并在顶部显示结果,在下部显示原页面的其余部分,如图4-25所示:

图4-25  显示Server.MapPath的结果
(1)    示例网页代码的功能
处理这个过程的代码是与前面在相似的示例文件中已经使用过的代码十分相似。
在该页面顶部的ASP脚本区域中,对单击的按钮的名字进行检查。在这种情况下,该按钮的名字将是cmdMapPath,简单地把相匹配的文本框中的值txtMapPath传送给Server.MapPath方法,并显示得到的结果:
If Len(Request.Form(“cmdMapPath”)) Then
       StrValue = Request.Form(“txtMapPath”)
       Response.Write “<BResults:</B<BRServer.MapPath (“ & QUOT & strValue _
                            & QUOT & “ ) returned <B” & QUOT & Server.MapPath(strValue) _
                            & QUOT & “</B<HR”
End If
(2)    MapPath和虚拟应用程序目录
注意,MapPath方法为/iishelp/default.htm文件获取的结果在Web服务器目录外,并在主winnt目录的help目录中。这清楚地证明了MapPath方法是非常有用的。
对于在缺省的Web网站目录中的文件,其URL的路径部分与物理路径通常是相同的。例如,一个文件存储在Web服务器上:
c:InetPubWWWRootyourfilesthisfile.asp
如果安装时已经在缺省目录中安装了的Web根目录,则URL如下:
http://yoursite.com/yourfiles/thisfile.asp
然而,IIS Help文件安装在缺省Web网站目录外的一个虚拟目录中,所以用于对其进行访问的URL和物理路径之间没有直接的关联。只有通过使用Server.MapPath方法才能获取真实的物理路径。

4.3..6 使用Server对象格式化数据
       当前面讨论演示SSI指令的网页的代码时,碰巧遇到了使用HTML的一个老问题。在一个HTML网页中如何显示HTML代码?如果“照现在的样子”使用,也就是在相应的位置上使用所有的HTML字符,会被浏览器当作HTML解释和执行。这样当下列内容在浏览器中显示时:
       This is the syntax of a  <TABLE element:
       将不会显示文本<TABLE,因为浏览器将其作为一个数据表的一个开始标记,并照此来执行。为了避免这种情况,必须把在HTML中非法或无效的所有字符转换到等价的HTML字符实体(character entity)。多数常见的字符如表4-5所示:
表4-5  字符与等价的HTML实体的关系
字 符
等价的HTML实体
字 符
等价的HTML实体

<
<



&
&amp;

&quot;

&copy;
&copy;
&reg;
&#174;

       所有的实体以&号开始并以分号结束,是在一些语言

来源:https://www.tulaoshi.com/n/20160129/1508679.html

延伸阅读
标签: ASP
  4.3.4 Server对象的错误处理        ASP没有错误处理机制一直受到批评。        在VBScript中,有一个On Error Resume Next语句,它使脚本解释器忽略运行期错误并继续脚本代码的执行。接着该脚本可以检查Err.Number属性的值,判别是否出现了错误。如果出现错误...
标签: ASP
  访问和更新Cookies集合     Cookies的值比ASP其他集合(例如Form和ServerVariables)的值要复杂得多。Cookie是一小块由浏览器存贮在客户端系统上的文本,且随同每次请求发往它们应用于的域中的服务器。     ASP使得应用cookie较为容易,可以从Request对象的Cookies集合中获得所有随同请求发出...
标签: ASP
  5.3.2 Dictionary对象示例        本书提供了一系列示例文件可用来试验脚本运行时间库的各种属性。        本章代码的缺省页面提供了一系列可使用的VBScript示例链接。有些示例对JScript同样有效。这些示例存放在Chapter05目录下相应的子目录里,显示的界面如图...
标签: ASP
  4.3.3 执行其他的网页        ASP 3.0和IIS 5.0的新特性之一就是引入了可编程的服务器端重定向(server-side redirection)的概念。这意味着,可以把一个网页的控制和执行转到另外一个网页,而不需要在客户端使用Response.Rdedirect方法。 1.  客户端重定向带来的问题 ASP编程人员通常使...
标签: ASP
  第5章 脚本运行期库对象        前面章节已经介绍了ASP如何使用在服务器上定义的对象的实例,充分利用所提供的方法和属性扩展ASP的性能。有一系列的对象可供使用,包括脚本对象和标准IIS/ASP安装的组件,以及自己创建的或者从其他供应商处购买的对象。也可以在互联网上各种网站免费下载对象,并在自...

经验教程

130

收藏

80

精华推荐

ASP 3.0高级编程(七)

ASP 3.0高级编程(七)

尕伍儿

ASP 3.0高级编程(十一)

ASP 3.0高级编程(十一)

笨男孩emp

ASP 3.0高级编程(一)

ASP 3.0高级编程(一)

cheneyfanpku

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部