不同操作系统的分别
Windows:由于已经使用斜杠 / 作为 DOS 命令提示符的参数标志了,为了不混淆所以采用反斜杠 \ 作为路径分隔符。所以目前Windows系统上的文件浏览器都是用反斜杠 \ 作为路径分隔符。
- 浏览器地址栏中的网址使用 斜杠 / 作为路径分隔符
- Windows文件浏览器使用 反斜杠 \ 作为路径分隔符
- 出现在html url() 属性中的路径,指定的是网络路径,所以必须用斜杠 /
斜杠 /
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)