使用ServletContext获取相关资源的方法

5.1 获取真实路径(*****)

还可以使用ServletContext对象来获取Web应用下的资源,例如在hello应用的根目录下创建a.txt文件,现在想在Servlet中获取这个资源,就可以使用ServletContext来获取。

l  获取a.txt的真实路径:String realPath = servletContext.getRealPath(“/a.txt”),realPath的值为a.txt文件的绝对路径:F: omcat6webappshelloa.txt;

l  获取b.txt的真实路径:String realPath = servletContext.getRealPath(“/WEB-INF/b.txt”);

5.2 获取资源流

不只可以获取资源的路径,还可以通过ServletContext获取资源流,即把资源以输入流的方式获取:

l  获取a.txt资源流:InputStream in = servletContext.getResourceAsStream(“/a.txt”);

l  获取b.txt资源流:InputStream in = servletContext.getResourceAsStream(“/WEB-INF/b.txt”);

5.3 获取指定目录下所有资源路径

还可以使用ServletContext获取指定目录下所有资源路径,例如获取/WEB-INF下所有资源的路径:

       Set set = context.getResourcePaths("/WEB-INF");

       System.out.println(set);

[/WEB-INF/lib/, /WEB-INF/classes/, /WEB-INF/b.txt, /WEB-INF/web.xml]

注意,本方法必须以“/”开头!!!

原文地址:https://www.cnblogs.com/danyuzhu11/p/6653000.html