Server.MapPath()用法[通俗易懂]

Server.MapPath()用法[通俗易懂]Server.MapPath(stringpath)作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径。其参数path为Web服务器的虚拟路径,返回结果是与path相对应的物理文件路径。但有时参数并非为虚拟路径,而是用户自定义的文件名。  Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。有

大家好,又见面了,我是你们的朋友全栈君。

    Server.MapPath(string path)作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径。其参数path为Web 服务器的虚拟路径,返回结果是与path相对应的物理文件路径。但有时参数并非为虚拟路径,而是用户自定义的文件名。

    Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。有时在程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()的使用。尽管引用了命名空间“using System.Web;”也是无济于事,此时就需要使用其全名,或者是当前使用Server.MapPath()函数的类继承自System.Web.UI.Page。

Server.MapPath(“”) :返回当前页面所在的物理文件路径

Server.MapPath(“/”) :返回应用程序根目录所在的物理文件路径

Server.MapPath(“./”) :返回当前页面所在的物理文件路径

Server.MapPath(“../”):返回当前页面所在的上一级的物理文件路径

Server.MapPath(“~/”):返回应用程序的虚拟目录(路径)

Server.MapPath(“~”):返回应用程序的虚拟目录(路径)

说明:对于Server.MapPath()具体返回什么内容,在不同的环境下得到的结果也许并不相同。

用法:
1.Server.MapPath(“/”)  应用程序根目录所在的位置 如 C:\Inetpub\wwwroot\

2.Server.MapPath(“./”)  表示所在页面的当前目录 ( 注:等价于Server.MapPath(“”)  返回 Server.MapPath(“”)所在页面的物理文件路径)

3.Server.MapPath(“../”)表示上一级目录 

4.Server.MapPath(“~/”)表示当前应用级程序的目录

    如果是根目录,就是根目录;

    如果是虚拟目录,就是虚拟目录所在的位置 如:C:\Inetpub\wwwroot\Example\

    注:等效于Server.MapPath(“~”)。


当前的网站目录为E:\wwwroot   

应用程序虚拟目录为E:\wwwroot\company 

浏览的页面路径为E:\wwwroot\company\news\show.asp

在show.asp页面中使用

Server.MapPath(“./”)   返回路径为:E:\wwwroot\company\news

Server.MapPath(“/”)    返回路径为:E:\wwwroot

Server.MapPath(“../”)   返回路径为:E:\wwwroot\company

Server.MapPath(“~/”)   返回路径为:E:\wwwroot\company

server.MapPath(request.ServerVariables(“Path_Info”)) 

Request.ServerVariables(“Path_Translated”)  

上面两种方式返回路径为 D:\wwwroot\company\news\show.asp

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159728.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL数据库优化(五)——MySQL查询优化

    MySQL数据库优化(五)——MySQL查询优化

    2021年10月15日
    36
  • 2021年最新PHP 面试、笔试题汇总(二)

    2021年最新PHP 面试、笔试题汇总(二)

    2022年2月18日
    47
  • Elasticsearch:Painless 编程调试「建议收藏」

    Painless也就是无痛的意思。这是一个专为Elasticsearch而设计的。当初的设计人员取名为“Painless”,表达的意思的是在编程的时候没有疼痛感,很方便设计人员使用。由于这是一个脚本的语言,在实际的使用中,我们很难找到这些编程的方法及使用。在今天的教程中,我来讲述一下该如何来进行调试。Debug.ExplainPainless没有REPL,虽然很高兴有一天,但它不会告诉你调试Elasticsearch中嵌入的Painless脚本的全部过程,因为脚本可以访问或“上

    2022年4月17日
    57
  • JAVA缓存机制_JAVA锁机制

    JAVA缓存机制_JAVA锁机制缓存可分为二大类:一、通过文件缓存,顾名思义文件缓存是指把数据存储在磁盘上,不管你是以XML格式,序列化文件DAT格式还是其它文件格式; 二、内存缓存,也就是实现一个类中静态Map,对这个Map进行常规的增删查.下面为一个简单的缓存代码Java代码package lhm.hcy.guge.frameset.cache;    import j

    2022年10月4日
    2
  • idea中配置tomcat服务器_服务器管理器怎么打开

    idea中配置tomcat服务器_服务器管理器怎么打开小白教程

    2022年10月18日
    2
  • C Delegates 委托

    C Delegates 委托C Delegates 委托通常我们都是把数据作为参数传递给方法 inti int Parse 99 当需要把方法传送给其他方法时就需要使用委托 类的用法 首先声明一个类 接着实例化一个类 委托的用法和类的用法类似 首先定义委托告诉编译器这种类型的委托表示哪种类型的方法 接着创建该委托的一个或者多个实例 声明委托委托的类型安全性非常高 在定义委托时必须给出他所表示的方法的签名

    2025年9月4日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号