Servlet中如何获取类路径下资源呢?

乔欣 Servlet 发布时间:2023-02-22 22:45:27 阅读数:6212 1
下文笔者讲述Servlet获取类路径下的资源的方法分享,如下所示
获取classes目录中的资源的实现思路:
   方式1:
      借助ClassLoader对象获取
   
   方式2:
      借助Class对象获取

使用ClassLoader对象获取类路径下资源

例:
 1.在应用src目录下,新建一个test.txt文件
 2.新建一个Servlet类,来获取test.txt文件

public class ClassPathServlet extendsHttpServlet {
    publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
           throwsServletException, IOException {

        //1.获的ClassLoader对象
       ClassLoaderclassLoader=this.getClass().getClassLoader();

       //2.调用ClassLoader对象的getResourcAsStream()方法
        InputStream input=classLoader.getResourceAsStream("test.txt");

	  //读取输入流内容,转换成字符串返回
      String value=IOUtils.toString(input);
        System.out.println(value);
    }
}

使用ClassLoader的getResourceAsStream(Stringpath)方法
   即可获得指定路径的对应输入流
   然后再将流信息转换

借助Class对象获取类路径下资源

 1 .src目录下,新建一个test.txt文件

 2.新建一个Servlet类,来获取test.txt文件

public class ClassServlet extends HttpServlet{

    publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
           throwsServletException, IOException {

        Class clazz=this.getClass();
         InputStreaminput=clazz.getResourceAsStream("/test.txt");
        String value=IOUtils.toString(input);
        System.out.println(value);
    }
}
注意事项:
    当具体的资源文件在 类文件中,我们可以输入相对路径
 如下所示:
    InputStream input=clazz.getResourceAsStream(“/com/java265/service/impl/test.txt”);
      或
    InputStreaminput=clazz.getResourceAsStream(“test.txt”);  
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202302/286.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者