以下是参考别人的博客做出的自我总结:
详情可参考https://www.cnblogs.com/jasonHome/p/5551358.html
1.绝对路径的问题
1)开发时建议编写”绝对路径”:写绝对路径肯定没问题,但是写相对路径可能会出问题
2)编写绝对路径可以避免上述问题:
① 在javaWEB中什么叫“绝对路径”:相对于当前 web 应用的根路径(contextPath)的路径。即,任何的路径都必须带上contextPath
如:http://localhost:8080/(当前web应用的上下文路劲)/a.jsp
② 如何编写:若 / 代表站点目录,则在前面加上 contextPath 就可以
request.getContextPath();
application.getContextPath();
3)javaWEB 开发中的 / 到底代表什么?
① 当前 web 应用的根路径:http://localhost:8080/contextPath/ :若 / 需要交Servlet 容器来处理
> 请求转发时:request.getRequestDispatcher(“/b.jsp”).forward(request,response);
> 在web.xml文件中,映射 servlet 访问路径:
TestServlet
/TestServlet
> 各种定制标签中的 /
② WEB 站点的根路径:http://localhost:8080/ :若 / 交由浏览器来处理
> 超链接:超链接
> 表单中的action:
> 做请求重定向的时候:response.sendRdirect(“/a.jsp”)
总结:开发时一定要写绝对路径,即在前面加上“/”
当加/ 即为绝对路径
不加/ 即为相对路径
例:ls opt
ls /home/oracle/opt/