java web开发时的绝对路径与相对路径

时间:2022-11-27 17:42:03

相对路径

不以/开头的路径为相对路径,使用相对路径时的路径为当前访问的文件的父目录,即如果现在访问文件的路径为http://localhost:8080/项目名/目录/文件,那么相对路径的当前路径为http://localhost:8080/项目名/目录/,如路径:另一个文件,即为http://localhost:8080/项目名/目录/另一个文件。

可以在head中使用base标签更改相对路径当前路径,

例如:添加<base href=”http://localhost:8080/”>后,当前路径就不是当前访问的文件的父目录了,而是http://localhost:8080/,可以避免直接使用相对路径容易出现的404路径错误。

绝对路径

绝对路径以/开头,如果路径由浏览器解析,那么当前路径为http://localhost:8080/,访问文件时还需要加项目名,即http://localhost:8080/项目名/目录/文件;如果路径由服务器解析,那么当前路径为http://localhost:8080/项目名/,访问文件时就不用再加项目名。

由浏览器解析的情况有:a标签的hrefform表单的action以及response的重定向response.sendRedirect;有服务器解析的有:request.getRequestDispatcher("路径").forward(request, response)web.xmlservlet-mapping配置中url-pattern属性,jsp转发标签<jsp:forward page=""></jsp:forward>。

 

另外

与web不同,文件IO中的相对路径是基于当前项目的,即F:\EclipseWorkspace(工作目录)\myServlet(项目)\;绝对路径则从根目录开始。