server .mappath[通俗易懂]

server .mappath[通俗易懂]1.Server.MapPath(“/”) 应用程序根目录所在的位置如C:/Inetpub/wwwroot/2.Server.MapPath(“./”) 表示所在页面的当前目录   注:等价于Server.MapPath(“”) 返回Server.MapPath(“”)所在页面的物理文件路径3.Server.MapPath(“../”)表示上一级目录4.Serve

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

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(“~”)。

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(“~”)

不知道是否正确,研究中……
另:以下几句等效

Java代码

  1. string filename=Server.MapPath(“./”) + @”/Web.config”;   
  2. string filename=Server.MapPath(“./”) + “/Web.config”;   
  3. string filename=Server.MapPath(“”) + @”/Web.config”  

string filename=Server.MapPath(“./”) + @”/Web.config”;

string filename=Server.MapPath(“./”) + “/Web.config”;

string filename=Server.MapPath(“”) + @”/Web.config”

 

附一例子:修改web.config的某一节点的属性值

Java代码

  1. public void write()   
  2.         {   
  3.             string key1 = this.TextBox1.Text;   
  4.             DataSet ds = new DataSet();   
  5.             ds.ReadXml(Server.MapPath(“”)+”/web.config”);   
  6.             // 不是Tables[0]   
  7.             ds.Tables[1].Rows[0][1] = key1;   
  8.             ds.AcceptChanges();   
  9.             ds.WriteXml(Server.MapPath(“”)+”/web.config”);   
  10.             ds.Dispose();   
  11.                
  12.         }  

public void write()

        {

            string key1 = this.TextBox1.Text;

            DataSet ds = new DataSet();

            ds.ReadXml(Server.MapPath(“”)+”/web.config”);

            // 不是Tables[0]

            ds.Tables[1].Rows[0][1] = key1;

            ds.AcceptChanges();

            ds.WriteXml(Server.MapPath(“”)+”/web.config”);

            ds.Dispose();

           

        }

 

 

转自:http://blog.tianya.cn/blogger/post_show.asp?BlogID=284576&PostID=3517248

作者:山谷银月

string Server.MapPath(string path)
返回与Web服务器上的指定虚拟路径相对应的物理文件路径。



Html代码

  1. <%=Server.MapPath(Request.ServerVariables[“PATH_INFO”])%>  
  2.   
  3. <%= Server.MapPath(“/”)%>  
  4. <%= Server.MapPath(“”)%>  
  5. <%=Server.MapPath(“.”)%>  
  6.   
  7. <%= Server.MapPath(“../”)%>  
  8. <%= Server.MapPath(“..”)%>  

<%=Server.MapPath(Request.ServerVariables[“PATH_INFO”])%>

 

<%= Server.MapPath(“/”)%>

<%= Server.MapPath(“”)%>

<%=Server.MapPath(“.”)%>

 

<%= Server.MapPath(“../”)%>

<%= Server.MapPath(“..”)%>

 
以上的代码在http://localhost/EnglishClub/manage/WebForm1.aspx页面
运行结果:

C:/Inetpub/wwwroot/EnglishClub/manage/WebForm1.aspx

C:/Inetpub/wwwroot/
C:/Inetpub/wwwroot/EnglishClub/manage
C:/Inetpub/wwwroot/EnglishClub/manage

C:/Inetpub/wwwroot/EnglishClub/
C:/Inetpub/wwwroot/EnglishClub

———————————————————————————————-

转自:http://hi.baidu.com/zls520/blog/item/f05df2caeb0a9145f31fe710.html

作者:zls3060420

很多的朋友一而再,再而三的在Server.Mappath上卡壳,cnbruce也是一遍两遍地重复,还是不能全部解决,所以通过下面的举例,希望更多的朋友能恍然大悟,透彻明白过来。

先看图:

1,首先在本机E下面建立red文件夹,夹子内继续建立conn.asp文件,文件内容如下:

Html代码

  1. <%=Server.Mappath(“database/cnbruce.mdb”)%>  
  2. <%=Server.Mappath(“/database/cnbruce.mdb”)%>  
  3. <%=Server.Mappath(“../database/cnbruce.mdb”)%>  

<%=Server.Mappath(“database/cnbruce.mdb”)%>

<%=Server.Mappath(“/database/cnbruce.mdb”)%>

<%=Server.Mappath(“../database/cnbruce.mdb”)%>

 
主要调试三种路径最后显示的结果。

2,在red文件夹下面建立文件夹database,该夹子内部存放cnbruce.mdb文件。
所以现在可以很肯定的知道数据库文件的绝对路径是:E:/red/database/cnbruce.mdb
以上应该没有问题吧,很明白的继续往下看,不明白的赶快学下windows操作系统 -_-!

3,为了进行比较对照,继续在red文件夹下面建立blue文件夹,该夹子内部存放同样的conn.asp文件

Html代码

  1. <%=Server.Mappath(“database/cnbruce.mdb”)%>  
  2. <%=Server.Mappath(“/database/cnbruce.mdb”)%>  
  3. <%=Server.Mappath(“../database/cnbruce.mdb”)%>  

<%=Server.Mappath(“database/cnbruce.mdb”)%>

<%=Server.Mappath(“/database/cnbruce.mdb”)%>

<%=Server.Mappath(“../database/cnbruce.mdb”)%>

 

4,当然很重要的就是对red文件夹进行虚拟目录的设定。方法是在red文件夹上右键鼠标,选择共享…”,弹出窗口中继续选择“Web共享标签,选择共享这个文件夹,别名设为red。最后确定

5,OK,现在就可以来调试两个conn.asp文件了。

先看red文件夹下面的,输入的URL应该是:http://localhost/red/conn.asp

观看结果可以知道其中只有一个正确,那就是
<%=Server.Mappath(“database/cnbruce.mdb”)%>

6,再来看red文件夹下的blue文件夹内的,URL:http://localhost/red/blue/conn.asp

观察结果,仍然有一个正确,那就是
<%=Server.Mappath(“../database/cnbruce.mdb”)%>

7,来总结下:为什么两次显示正确路径的不是同一代码呢?
很显然是相对路径的缘故。red文件夹下的conn.asp文件和database文件夹是兄弟关系,所以要找到cnbruce.mdb,就可以直接database/cnbruce.mdb

blue文件夹下的conn.aspdatabase文件夹是侄叔关系,要找cnbruce.mdb,当然是../database/cnbruce.mdb,其中../就是到上一层。

8,那再看<%=Server.Mappath(“/database/cnbruce.mdb”)%>两次显示的都是一样的效果,都指向到c:/inetpub/wwwroot/下面了,那就是因为在“database”前面添加了/,表示到达根目录,而本地的IIS虚拟根目录就是c:/inetpub/wwwroot/,这在默认Web站点属性里面有。

9,注意,再看!一直都是在本地的,那上传到网络上有是怎么样呢?

首先,要正确清醒地知道conn.asp连接文件和*.mdb数据库文件的地址关系
接着,选择正确的Server.Mappath转换方法

建议,最好不采用/路径。因为这涉及到虚拟主机和非虚拟主机的问题。

所谓虚拟主机,比如我本人的站点,其虚拟的根目录就是网站本身的根目录,不存在转向到c:/inetpub/wwwroot/的问题。

可以调试
http://www.cnbruce.com/red/conn.asp
http://www.cnbruce.com/red/blue/conn.asp

可以看出:采用/的时候的路径显示就是本站的根地址。

10,一定要注意!

万里长征已经到最后了,说什么也要支持住~

我们虽然知道了conn.asp文件内容的写法,但在我们引用的时候应该要注意include包含文件的实质:被包含文件是在包含文件中执行显示的
所以,无论conn.asp放在哪里,无论conn.asp的内容如何,最后都是取决于包含该文件的文件位置和数据库的位置关系

 

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

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

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


相关推荐

  • WinRAR去广告实现「建议收藏」

    WinRAR去广告实现「建议收藏」1.解压工具居然还有广告?2.我们可以看到我们点击压缩包之后弹出了窗口标题为WinRAR的广告窗口3.直接OD打开WinRAR.exe,右键->中文搜索引擎->智能搜索4.右键->查找,或使用快捷键Ctrl+F或Insert5.输入我们刚才看到的窗口标题名称6.最后找到两个WinRAR且有创建窗口的操作,我们都下断点尝试一下7.运行测试第一个断点,观察窗口弹出情况7.1F9运行程序,程序断在了我们第一个断点的位置,此时是没有窗口弹出的(因为程序断在了创建窗

    2022年6月4日
    29
  • s一般怎么称呼自己的m_男人一般都这样称呼自己的情人?

    s一般怎么称呼自己的m_男人一般都这样称呼自己的情人?阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注:本文转载自网络,不代表本平台立场,仅供读者参考,著作权属归原创者所有。我们分享此文出于传播更多资讯之目的。如有侵权,请在后台留言联系我们进行删除,谢谢!…

    2022年6月23日
    97
  • linux上查看jdk环境变量,linux 怎么查看jdk的环境变量

    linux上查看jdk环境变量,linux 怎么查看jdk的环境变量1.查看系统中是否有JDK及其版本:java-version2.查看具体的信息:rpm-qa|grepgcj3.根据Java具体信息卸载JDK:rpm-e–nodepsjava-1.5.0-gcj-1.5.0.0-29.1.el6.x86_644.把下载的JDK包(rpm)上传到Linux系统中,进入对应的目录下执行:rpm-ivhjdk-7u79-linux-x64.rpm…

    2022年9月27日
    0
  • 正则表达式:匹配不包含某些字符和不包含某些字符串的写法「建议收藏」

    正则表达式:匹配不包含某些字符和不包含某些字符串的写法「建议收藏」不包含某些字符:不包含某些字符串:当然下面不包含字符串可以演变为不包含字符使用,看你喜欢使用。

    2022年7月2日
    26
  • 一小时人生怎么选服务器(服务器一般多少瓦)

    上周末扑克之星的服务器发生了罕见的崩溃,几千名玩家掉线被洗盲注,而少数几个国家并没有影响,此事让扑克之星的用户纷纷谴责他们的服务提供商。祝贺罗马尼亚、捷克、保加利亚的玩家,你们从这次服务器崩溃事件中获利了。—DramaticDegen(@TJDarroch)2018年8月12日在你中止比赛之前,你按照被洗盲一个小时的筹码量分配奖金,你真的不能那么做。我们需要知道比赛中其他玩家获得的奖金。—…

    2022年4月18日
    49
  • jsonify

    jsonifyflask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢?想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错。但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择,而…

    2022年5月10日
    52

发表回复

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

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