Web项目访问资源文件

同一个Web程序的所有Servlet都共享同一个ServletContext对象,这个对象可以看作为Servlet的共享内存区域,在关于路径文件方面的API有如下4个:

  • getResourcePaths 返回的是一个Set集合,参数必须以“/”为头,集合里面包含某一个目录的所有子目录和文件的路径名称,都用"/"开头,目录有"/"结尾,某一个目录是“根目录+参数”所代表的目录。Set的键是路径,值是组成键的字符数组。
  • getResource 返回一个URL对象,必须以“/”开头,代表的是根目录。
  • getResourceAsStream 返回某个资源的InputStream对象,实际上是打开了getResource返回的URL对象的输入流,参与与getResource一样。

如下为项目结构:                       

代码如下:

文件内容以及输入分别如下图

代码中注释那段是个留意点,可以采用Class对象的getResourceAsStream方法加载资源,它在内部使用了ClassLoader的同名方法加载,以查找类的形式查找资源文件。一个类装载器只负责加载一定目录下的类,Web应用程序的类装载器会搜索classes目录下的类,因此资源放在这下边可以加载,如果放在其他不能搜索的目录下则不能加载。

猜你喜欢

转载自blog.csdn.net/qq_27368993/article/details/83420119