天天看点

斜杠 / 和 反斜杠 \ 的区别

不同操作系统的分别

Unix / Linux:使用斜杠 / 作为路径分隔符,而 Web 应用最新使用在 Unix 系统上面,所以目前所有的网络地址都采用斜杠 / 作为分隔符。 

Windows:由于已经使用斜杠 / 作为 DOS 命令提示符的参数标志了,为了不混淆所以采用反斜杠 \ 作为路径分隔符。所以目前Windows系统上的文件浏览器都是用反斜杠 \ 作为路径分隔符。

  • 浏览器地址栏中的网址使用 斜杠 / 作为路径分隔符
  • Windows文件浏览器使用 反斜杠 \ 作为路径分隔符
  • 出现在html url() 属性中的路径,指定的是网络路径,所以必须用斜杠 /

斜杠 /

 1.(无)开头表示当前目录下的  2.(/)开头的目录表示该目录为根目录的一个子目录  3.(./)开头的目录表示该目录为当前目录(当前目录所在的目录)的一个子目录

 4.(../)开头的目录表示该目录为当前目录的父目录

    但是实际使用过程中我们发现了很多问题,首先关于无斜杠开头的路径描述基本准确,是表示当前目录下和(./)相似。

    1. 对于HTML 页面 , 如果直接对该页面打开访问:则这里相对的是我们的盘符,如( /res/index.html),实际路径为( C://res/index.html );

    2. 如果我们在Tomcat中构建打开:则这里相对的是我们的站点,如 ( /webTest/html/index.html ),实际路径为( http://localhost:8080/webTest/html/index.html ) ;

    3.对于我们在请求转发中调用的 getRequestDispatcher() 方法,则这里相对的是我们的项目根目录。

如 request.getRequestDispatcher(" /ts.do "),我们项目名称为 webTest , 而“/ts.do”是我们在 web.xml 中配置的servlet-mapping 的 url-pattern。

则我们这里找的 ( /ts.do )其实是  ( http://localhost:8080/webTest/ts.do )。

    4. 如果我们要找的是一个具体资源如 html 页面:目录结构如下:(webTest/WebContent/html/index.html)而我们知道WebContent这个目录是编译器临时目录在实际生成时是没有的,所以目录修改如下(webTest/html/index.html);

这时我们要用 getRequestDispatcher()得到这个html页面则应是(html/index.html)