静态页面的相对路径(比如html和js,css在不同目录或者同一目录下)
首先,在web工程中,或者是静态页面中,文件的分隔符是用“/”。
(\也属于文件分隔符,但是它有转义字符的含义,所以用“\\”表示)
在静态页面中:
1. /开头表示根目录;
2. ./表示当前目录;(斜画线前面一个点)
3. ../上级目录;(斜画线前面两个点)
4. 直接用文件名不带/也表示同一目录
这些都是相对于当前文件的位置来说的,如果用绝对路径的话就是写全了。
例子:
Crab.js
Crab=function(){
this.legs=10;
}
Crab.prototype={
say:function(){
alert("我是一只螃蟹,我有"+this.legs+"条腿,横行霸道是我的天性!");
}
};
// 测试
var crab=new Crab();
alert(crab.legs);
alert(crab.say());
如果测试它,一般我们都是把它引入到一个静态页面跑一下,比如crab.html和它在同一目录,那么就可以这么写:
crab.html
路径前加于不加(/)反斜杠
(2011-08-08 21:44:04)
如题,这是我们今天做关于JavaWeb请求转发时遇到的问题。
1.(无)开头表示当前目录下的
2.(/)开头的目录表示该目录为根目录的一个子目录
3.(./)开头的目录表示该目录为当前目录(当前目录所在的目录)的一个子目录
4.(../)开头的目录表示该目录为当前目录的父目录
但是实际使用过程中我们发现了很多问题,首先关于无反斜杠开头的路径描述基本准确,是表示当前目录下和(./)相似。问题主要集中在关于加了反斜杠(/)的路径上。这里对于根目录的理解,我们遇到的情况主要可分为下面3种:
1.对于HTML
页面,如果我们在其中有关于反斜杠应用的路径,我们可以分为下面两种情况:如直接对该页面打开访问:则这里相对的是我们的盘符,如(/res/index.html),实际路径为(C://res/index.html);
如我们在Tomcat中构建打开:则这里相对的是我们的站点,如(/webTest/html/index.html),实际路径为(http://localhost:8080/webTest/html/index.html);
2.对于我们在请求转发中调用的getRequestDispatcher()方法:则这里相对的是我们的项目根目录,如
request.getRequestDispatcher("/ts.do"),实际路径为,如我们项目名称为webTest,而“/ts.do”是我们在web.XML中配置的servlet-mapping的url-pattern则我们这里找的该(/ts.do)其实是(http://localhost:8080/webTest/ts.do)。而如果我们要找的是一个具体资源如html页面:目录结构如下:(webTest/WebContent/html/index.html)而我们知道webContent这个目录是编译器临时目录在实际生成时是没有的。所以目录修改如下(webTest/html/index.html)这时我们要用getRequestDispatcher()得到这个html页面则应是(html/index.html)。
这就是今天主要关于目录加反斜杠的难点,主要是对资源的定位问题。
加载中,请稍候......