zoukankan      html  css  js  c++  java
  • JavaWeb学习——获取类路径下的资源

    对于JavaWeb而言,获取类路径下的资源,就是获取classes目录下的资源。

    获取资源的方式有两种,利用Class或ClassLoader。

    Class类的getResourceAsStream(String path):

    • 路径以“/”开头,相对classes路径;
    • 路径不以“/”开头,相对当前class文件所有路径,例如在cn.sdut.servlet.MyServlet中执行,那么相对/classes/cn/sdut/servlet/路径;

    ClassLoader类的getResourceAsStream(String path):

    • 相对classes路径;
     1 public class BServlet extends HttpServlet {
     2 
     3     public void doGet(HttpServletRequest request, HttpServletResponse response)
     4             throws ServletException, IOException {
     5         //方式一
     6         ClassLoader cl = this.getClass().getClassLoader();
     7         InputStream input = cl.getResourceAsStream("a.txt");
     8         // 读取输入流转换成字符串(使用commons-io-2.4.jar)
     9         String s = IOUtils.toString(input);
    10         System.out.println(s);
    11 
    12         //方式二
    13         Class c = this.getClass();
    14         // 路径前加"/"是相对于classes路径下
    15         InputStream is = c.getResourceAsStream("/a.txt");
    16         // 路径相对于当前.class文件
    17         // InputStream is = c.getResourceAsStream("a.txt");
    18         String str = IOUtils.toString(is);
    19         System.out.println(str);
    20 
    21         /*
    22          * 使用Class获取WebRoot目录下的资源
    23          */
    24         // 第一个'/'表示在classes目录下,'../'表示回到上一级目录
    25         InputStream is1 = c.getResourceAsStream("/../../index.jsp");
    26         String str1 = IOUtils.toString(is1);
    27         System.out.println("index:" + str1);
    28     }
    29 
    30 }
  • 相关阅读:
    js秒换成天时分
    vuex
    匹配iPhoneX
    ASP 解析json
    WPF 实现多语言支持
    c# 用DotNetZip来解压/压缩文件
    WPF UI Close button
    VB 获取所有窗体菜单信息
    ASP/ASP.NET/VB6文件上传
    c# 上传图片到一个外链相册服务器
  • 原文地址:https://www.cnblogs.com/lahblogs/p/4372803.html
Copyright © 2011-2022 走看看