一,案例分析
config :当前路径。
../config :当前路径的上一级。
../../config:当前路径的上两级,更多依此类推。
/config : 当前容器的根路径。
上述出现两个定义:当前路径和当前容器的根路径。
二,根路径的误区
根路径并不是指项目的根路径而是web容器的根目录(即webapps目录),假设在tomcat webapps下部署了aaj,bbj,ccj三个应用程序。在ccj项目中有个jsp文件里面引用的css的文件路径为/css/main.css。当前浏览器解析的路径则为http://127.0.0.1:8080/css/main.css肯定是找不到该文件的。正确的写法:/ccj/css/main.css。这样浏览器解析为http://127.0.0.1:8080/ccj/css/main.css。要指定发布应用的名称ccj才行。
三,当前路径的误区
如果浏览器是直接访问的静态文件(包括redirect重定向到静态文件),那么当前路径就是指该静态资源的路径。那么在ccj项目中有个jsp文件里面引用的css的文件路径为../css/main.css 就是指该静态文件所在目录的上一级css目录下的main.css文件。
如果是服务端请求转发forward访问的静态文件。那么当前路径就是指向action请求地址的路径。因为请求转发是在服务端自动跳转的一种行为,浏览器是不知道的(浏览器地址栏url地址是不变的),那么当前路径浏览器还是以指向action接口请求地址的路径。
总之,当前路径是指客户端浏览器地址栏的url地址。