web 开发中的路径问题

在开发工程中,我们web.xml中要设置servlet的url时,我们必须加上“/”,代表的是服务器+工程的路径;而当我们引用使servlet在页面时,添加的映射必须带上"/工程名+/servleturl",因为这里的“/”,代表的是服务器,而没有工程的路径。在配置时,我们一定要注意。

 

 

下面是一些资料:

几个符号的含义:
'/'代表网站根目录:"/Images/SampleImage.jpg"相当于".../inetpub/wwwroot/image/SampleImage.jpg"
'~'代表应用程序根目录,~ 运算符只能为服务器控件识别,并且位于服务器代码中.不能将 ~ 运算符用于客户端元素.
'..'代表上一级目录:"/bbs/Images/SampleImage.jpg"相当于"/bbs/../bbs/Images/SampleImage.jpg"
'.'代表当前目录:"/bbs/Images/SampleImage.jpg"相当于"/bbs/Images/./././SampleImage.jpg"


以img元素为例:
 (*)绝对 URL 路径.如果引用其他位置(例如外部网站)中的资源,则绝对 URL 路径非常有用.
   <img src="http://www.example.com/MyApplication/Images/SampleImage.jpg" />

 (*)网站根目录相对路径,此路径将根据网站根目录(而非应用程序根目录)进行解析.如果将跨应用程序的资源(例如图像或客户端脚本文件)保留在网站根目录下的文件夹中,则网站根目录相对路径非常有用.
   一个网站的根目录是/wwwroot/,其下还可能有许多的应用程序,如bbs,此时该应用程序的根目录就是/bbs/.
   此示例路径假定 Images 文件夹位于网站根目录下.
    而且<img src="/Images/SampleImage.jpg" />
   如果网站为 http://www.example.com/,则此路径将解析为以下形式.http://www.example.com/Images/SampleImage.jpg
 
   如果Images文件夹在某个应用程序目录中如bbs,那么解析还是http://www.example.com/Images/SampleImage.jpg.
   很明显网站根目录下没有image目录,文件找不到.此时改为:
   <img src="/bbs/Images/SampleImage.jpg" />就行了!!!!!!!!!!
 

 (*)下面是一个根据当前页面路径解析的相对路径.
   <img src="Images/SampleImage.jpg" />
   默认情况下,浏览器使用当前页面的 URL (应用程序根目录)作为解析相对路径的基准.但是,可以在页面中包含 HTML base 元素,以指定替代基路径.

 
确定当前网站的物理文件路径:
  根据请求属性确定路径
  下面的是HttpRequest对象的属性,这些属性帮助确定应用程序中的资源的路径.

  已使用以下 URL 发出浏览器请求:http://www.example.com/MyApplication/MyPages/Default.aspx.
  网站根目录的物理路径为:C:/inetpub/wwwroot/MyApplication/.
  该物理路径中包含一个名为 MyPages 的文件夹.

ApplicationPath
   获取当前应用程序的根目录路径,无论在该应用程序中的什么位置请求该路径.在此示例中,该属性将返回以下内容:/
 
CurrentExecutionFilePath
   获取当前请求的虚拟路径.它与 FilePath 属性的不同之处在于,如果请求已在服务器代码中被重定向,则 CurrentExecutionFilePath 就是正确的.在此示例中,该属性将返回以下内容:/MyApplication/MyPages/Default.aspx
  如果作为对 Transfer 或 Execute 进行调用的结果,获取正在运行的代码中的属性,则路径将反映该代码的位置.
 
FilePath
   获取当前请求的虚拟路径.在此示例中,该属性将返回以下内容:/MyApplication/MyPages/Default.aspx
  与 CurrentExecutionFilePath 属性不同的是,FilePath 不反映服务器端的传输.
 
Path
   获取当前请求的虚拟路径.在此示例中,该属性将返回以下内容:/MyApplication/MyPages/default.aspx
 
PhysicalApplicationPath
   获取当前正在执行的应用程序的根目录的物理文件系统路径.在此示例中,该属性将返回以下内容:C:/inetpub/wwwroot/
 
PhysicalPath
   获取与请求的 URL 相对应的物理文件系统路径.在此示例中,该属性将返回以下内容:C:/inetpub/wwwroot/MyApplication/MyPages/default.aspx

使用 MapPath 方法
 MapPath 方法返回传递给该方法的虚拟路径的完整物理路径.例如,以下代码返回网站根目录的文件路径:
  String rootPath = Server.MapPath("~");
  String rootPath = Server.MapPath("~/dir");
  String rootPath = Server.MapPath("~/dir/file.ext");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值