在 JavaWeb 中,路径分为相对路径和绝对路径两种:
相对路径
符号 | 释义 |
---|---|
./ | 表示当前目录 |
…/ | 表示上一级目录 |
某个资源 | 表示当前目录/资源名 |
第三个简单来说就是假如a目录下有个index.html,这个index.html就算上面表格指的某个资源
绝对路径
绝对路径大家都很熟悉,在javaweb中为:
http://ip:port/工程路径/资源路径
斜杠的不同意义
在 web 中 / 斜杠 是一种绝对路径<a href="/"></a>
上面a标签当中
/
如果被浏览器解析,得到的为http://ip:port/
如果被服务器解析,得到的地址是:http://ip:port/工程路径
举三个例子
第一个:
比如在web.xml
当中的映射关系<url-pattern>/baseServlet</url-pattern>
这个/
就被服务器解析为http://ip:port/工程路径
第二个:
下面这个代码例子当中的servletContext.getRealPath("/"));
这个/
被服务器解析为http://ip:port/工程路径
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ServletContext servletContext = getServletConfig().getServletContext();
System.out.println("当前工程部署路径是"+servletContext.getRealPath("/"));
}
第三个:请求转发
equest.getRequestDispatcher("/WEB-INF/form.html");
这个/
也被服务器解析为http://ip:port/工程路径
特殊情况(重定向)
response.sendRediect(“/”);
把斜杠发送给浏览器解析。被浏览器解析得到 http://ip:port/