“/”问题主要出现在相对路径上。
首先,弄明白什么是服务器解析,什么是浏览器解析。
java代码就是服务器解析。服务器解析时,“/”代表从当前项目开始。
而,不是服务器解析的就是浏览器解析。浏览器解析时,“/”代表从服务器路径开始。
服务器路径指的是:http://IP:端口号/
注意:
jsp中的路径,怎样区分是浏览器解析,还是服务器解析?
1、所有html默认的标签(w3cschool菜鸟教程中可查)上的路径都是浏览器解析,都是从服务器路径开始。
2、所有的重定向请求(包含java代码中的)都是浏览器解析,从服务器路径开始。
而,那些自定义的标签,例如:<jsp:forward page=”/hello”><jsp:forward>,都是服务器解析,都是项目路径开始。
所以,推荐:
在页面(html、jsp)写路径时,不推荐写相对路径,如:“/hello”;推荐使用绝对路径,如:“/工程名/hello”。
还有一点
在浏览器解析时,不加“/”,代表是从当前项目开始。