1.概念
相对路径:相对与某个基准目录的路径。
绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径
2.关于 JSP/Servlet 中的相对路径和绝对路径
2.1 服务器端的地址
服务器端的相对地址指的是相对于你的 web 应用的地址,这个地址是在服务器
端解析的 (不同于 html 和
javascript 中的相对地址,他们是由客户端浏览器解析的)也就是说这时候 在
jsp 和 servlet 中的相对地
址应该是相对于你的 web 应用,即相对于 http://192.168.0.1/webapp/的。
其用到的地方有: forward:servlet 中的 request.getRequestDispatcher(address);这
个 address 是 在
服 务 器 端 解 析 的 , 所 以 , 你 要 forward 到 a.jsp 应 该 这 么 写 :
request.getRequestDispatcher
(“/user/a.jsp”)这个/相对于当前的 web 应用 webapp, 其绝对地址就是:
http://192.168.0.1/webapp/user/a.jsp。 sendRedirect:在 jsp 中
2.2 客户端的地址 所有的 html 页面中的相对地址都是相对于服务器根目录
(http://192.168.0.1/)的,
而不是(跟目录下的该 Web 应用的目录)http://192.168.0.1/webapp/的。 Html 中的
form 表单的 action 属
性的地址应该是相对于服务器根目录(http://192.168.0.1/)的, 所以,如果提交到
a.jsp 为:action=
"/webapp/user/a.jsp"或 action=""/user/a.jsp;
提交到 servlet 为 action="/webapp/handleservlet"
Javascript 也是在客户端解析的,所以其相对路径和 form 表单一样。
因此,一般情况下,在 JSP/HTML 页面等引用的 CSS,Javascript.Action 等属
性前面最好都加上 ,以确
保所引用的文件都属于 Web 应用中的目录。 另外,应该尽量避免使用类似".",".
/","../../"等类似的相
对该文件位置的相对路径,这样 当文件移动时,很容易出问题。