• ApplicationPath及url提取


    1.Request.ApplicationPath->当前应用的目录
    Jsp中, ApplicationPath指的是当前的application(应用程序)的目录,ASP.NET中也是这个意思。
    对应的--例如我的服务器上有两个web应用域名都是yoursite.com 一个映射到目录yourdir01/1/ 另一个影射到 yourdir02/2/
    那么yourdir01/1/就是第一个应用的ApplicationPath 同理 yourdir02/2/就是第二个应用的ApplicationPath

    2.Request.FilePath->对应于iis的虚拟目录
    如 URL http://yoursite.com/1/index.html/pathinfo
    FilePath = /1/index.html

    3.Request.Path->当前请求的虚拟路径
    Path 是 FilePath 和 PathInfo 尾部的串联。例如 URL http://yoursite.com/1/index.html/pathinfo
    那么Path = /1/index.html/pathinfo

    4.Request.MapPath(string url)->将url映射为iis上的虚拟目录
    这个目录都是相对于application的根目录的
    于Server.MapPath相比,不会包含类似c:/这样的路径
    可以理解为是相对路径(对比的Server.MapPath就是绝对路径)

    5.Server.MapPath(string url)->将url映射为服务器上的物理路径
    例如 http://yoursite.com/1/index.html 假设你的应用程序在c:/iis/MySite中
    那么就是 c:/iis/MySite/1/index.html

    1、Server.MapPath("/") 应用程序根目录所在的位置 如 C:/Inetpub/wwwroot/
    2、Server.MapPath("./") 表示所在页面的当前目录
    注:等价于Server.MapPath("") 返回 Server.MapPath("") 所在页面的物理文件路径
    3、Server.MapPath("../")表示上一级目录
    4、Server.MapPath("~/")表示当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置 如 C:/Inetpub/wwwroot/Example/

    虚拟应用程序根路径  HttpContext.Current.Request.ApplicationPath;

    HttpContext.Current.Server.MapPath(".").ToLower();//当前的绝对路径(这里MapPath里的"."代表当前服务器)  

    HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath).ToLower();//当前的绝对路径


    URL=http://localhost:3059/test/Default.aspx?id=33&s=2322
    HttpContext.Current.Request.Url.Segments[ ] ==/
    HttpContext.Current.Request.Url.Segments[ ] ==test/
    HttpContext.Current.Request.Url.Segments[ ] ==Default.aspx

    HttpContext.Current.Request.Url.AbsolutePath:================/test/Default.aspx
    HttpContext.Current.Request.Url.AbsoluteUri============: http://localhost:3059/test/Default.aspx?id=33&s=2322
    HttpContext.Current.Request.Url.Authority:======localhost:3059
    HttpContext.Current.Request.Url.DnsSafeHost:======localhost
    HttpContext.Current.Request.Url.Fragment:=====
    HttpContext.Current.Request.Url.Host:======localhost
    HttpContext.Current.Request.Url.HostNameType:====Dns
    HttpContext.Current.Request.Url.IsAbsoluteUri:=====True
    HttpContext.Current.Request.Url.IsDefaultPort:=========False
    HttpContext.Current.Request.Url.IsFile:===False
    HttpContext.Current.Request.Url.IsLoopback========True
    HttpContext.Current.Request.Url.IsUnc:=====False
    HttpContext.Current.Request.Url.LocalPath:==/test/Default.aspx
    HttpContext.Current.Request.Url.OriginalString:====http://localhost:3059/test/Default.aspx?id=33&s=2322
    HttpContext.Current.Request.Url.PathAndQuery:=====/test/Default.aspx?id=33&s=2322
    HttpContext.Current.Request.Url.Port:======3059
    HttpContext.Current.Request.Url.Query:====?id=33&s=2322
    HttpContext.Current.Request.Url.Scheme:=====http
    HttpContext.Current.Request.Url.UserEscaped:=====False
    HttpContext.Current.Request.Url.UserInfo:=====

  • 相关阅读:
    Object C学习笔记25-文件管理(一)
    实施项目--为什么开发人员一直在抱怨需求变动
    Git.Framework 框架随手记--准备工作
    一网打尽!2018网络安全事件最全的盘点
    林纳斯·托瓦兹和Linux行为准则:揭穿7个谬论
    LinkedList源码解析
    四种List实现类的对比总结
    HashMap源码解析
    volatile
    Java内存模型与共享变量可见性
  • 原文地址:https://www.cnblogs.com/cmblogs/p/3101692.html
Copyright © 2020-2023  润新知