程序中我们经常要写路径,但是只有我们明白其中的原理,才能正确地写出路径。那么我们在哪些地方写过路径?通常按照不同的划分方法,分为真实路径和虚拟路径,也可以分为绝对路径、相对路径和硬盘路径。
绝对路径:以/开头的路径就叫做绝对路径,绝对路径在相对于的路径上直接拼接得到最终的路径。
相对路径:不以/开头的路径就叫做相对路径,相对路径基于当前所在的路径计算的到最终的路径。
硬盘路径:以盘符开头的路径就叫做硬盘路径.是哪个路径就是哪个路径.没有相对于谁的问题。
虚拟路径: –写虚拟路径时都使用绝对路径。
- 如果路径是给浏览器用的,这个路径相对于虚拟主机,所以需要写上web应用的名称
如果路径是个服务器用的,这个路径相对于web应用,所以可以省写web应用的名称。
<a href="/Day04/....."> <form action="/Day04/..."> <img src="/Day04/...."> response.setHeader("Location","/Day04/...."); response.setHeader("refresh","3;url=/Day04/..."); response.sendRedirect("/Day04/..."); request.getRequestDispathce("/index.jsp").forward(); request.getRequestDispathce("/index.jsp").include();
真实路径:写真实路径时都使用相对路径。根据原理,具体问题具体分析
servletContext.getRealPath("config.properties");//--给一个相对于web应用目录的路径
classLoader.getResource("../../config.properties");//--给一个相对于类加载目录的路径
File file = new File("config.properties");//--相对于程序的启动目录
new InputStream("config.properties");//--相对于程序的启动目录