您的位置:首页 > 编程语言 > Java开发

重新学javaweb---路径专题

2016-04-24 21:29 423 查看
绝对路径:以/开头的路径就叫做绝对路径,绝对路径在相对于的路径上直接拼接得到最终的路径

相对路径:不以/开头的路径就叫做相对路径,相对路径基于当前所在的路径计算的到最终的路径

硬盘路径:以盘符开头的路径就叫做硬盘路径.是哪个路径就是哪个路径.没有相对于谁的问题

虚拟路径: –写虚拟路径时都使用绝对路径

如果路径是给浏览器用的,这个路径相对于虚拟主机,所以需要写上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();

Servlet可以通过两个两种方式得到RequestDispatcher对象:

调用ServletContext的getRequestDispatcher(String path)方法,path参数指定目标组件的路径

path参数必须为绝对路径;绝对路径,就是以符号“/”开头的路径,“/”表示当前Web应用的URL路口

调用ServletRequest的getRequestDispatcher(String path)方法,path参数指定目标组件的路径

path参数既可以为绝对路径,也可以为相对路径;相对路径,就是相对于当前Servlet组件的路径,不以“/”开头

真实路径: –写真实路径时都使用相对路径

根据原理,具体问题具体分析

servletContext.getRealPath(“config.properties”);//–给一个相对于web应用目录的路径

classLoader.getResource(“../../config.properties”);//–给一个相对于类加载目录的路径

File file = new File(“config.properties”);//–相对于程序的启动目录

new InputStream(“config.properties”);//–相对于程序的启动目录

前两个加/也行 后两个加/就到该盘的根目录去找了



Class.getResource(String path)

path 不以’/’开头时,默认是从此类所在的包下取资源;以’/’开头时,则是从ClassPath根下获取;

同样用法的还有Class.getResource和Class.getResourceAsStream。

Class.getClassLoader().getResource(String path)

path 不能以’/’开头并且它是从ClassPath根目录下获取;

同样用法的还有Class.getClassLoader().getResource和Class.getClassLoader().getResourceAsStream。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javaweb 路径 地址