最近发现很多初学者总是搞不清楚路径的问题。我也多次遇到这种烦恼,特记录于此,希望帮助后来者。
说明:针对java工程。
① 如果是在classpath下面的文件,如”/books.xml”,斜杠开头表示以classpath为相对路径,即项目根包,及其同级的包,maven项目中,src下的java是放java源码的根包,webapp是放前端页面的根包。上面的路径表示相对于classpath下面,去寻找这个文件夹目录里的一个文件books.xml(未必存在,只是根据这个路径去寻找)。另外,在ssh项目中,resources包是放一切资源文件的根包。
“../”表示退出当前文件夹,返回到上一级文件夹。
② 如果是“books.xml”,则表示是相对于项目路径进行相对定位,即不以斜杠开头,也不以盘符开头。这种情况表示默认缺省项目名,当然也可以写项目名。
③ 上面两种都是相对路径,传文件有两种方式:相对路径和绝对路径。绝对路径是盘符开头的。
注:尽量不要使用”../”斜杠的形式,在javaweb项目中,尽量从项目名开始定位,eg.
src=”${pageContext.request.contextPath}/resources/books.xml”