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

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

Class类的getResourceAsStream(String path):

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

ClassLoader类的getResourceAsStream(String path):

  • 相对classes路径;
 public class BServlet extends HttpServlet {

     public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//方式一
ClassLoader cl = this.getClass().getClassLoader();
InputStream input = cl.getResourceAsStream("a.txt");
// 读取输入流转换成字符串(使用commons-io-2.4.jar)
String s = IOUtils.toString(input);
System.out.println(s); //方式二
Class c = this.getClass();
// 路径前加"/"是相对于classes路径下
InputStream is = c.getResourceAsStream("/a.txt");
// 路径相对于当前.class文件
// InputStream is = c.getResourceAsStream("a.txt");
String str = IOUtils.toString(is);
System.out.println(str); /*
* 使用Class获取WebRoot目录下的资源
*/
// 第一个'/'表示在classes目录下,'../'表示回到上一级目录
InputStream is1 = c.getResourceAsStream("/../../index.jsp");
String str1 = IOUtils.toString(is1);
System.out.println("index:" + str1);
} }

JavaWeb学习——获取类路径下的资源的更多相关文章

  1. Servlet获取类路径下的资源

    示例程序: package cn.yzu; import java.io.IOException; import java.io.InputStream; import javax.servlet.S ...

  2. Java中获取classpath路径下的资源文件

    ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource (String name); public InputStream  getRes ...

  3. java获取类路径下文件的绝对路径

    获取文件绝对路径 在idea中,默认的当前路径是project的根路径,如果你使用idea的默认路径,只要离开idea换到其他位置,可能当前路径就不是project的根路径了. 使用一下通用方式的前提 ...

  4. 15. 获取类路径下文件对应的输入流(inputStream)方式

    //获取 inputStream 方式一Resource resource = new ClassPathResource("excel/template/test.xlsx"); ...

  5. Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源

    Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...

  6. servlet--获取类路径下资源

     context 获取真实路径(*****) 还可以使用ServletContext对象来获取Web应用下的资源,例如在hello应用的根目录下创建a.txt文件,现在想在Servlet中获取这个资源 ...

  7. ClassLoader 提供了两个方法用于从装载的类路径中取得资源:

    转:http://cheneyph.iteye.com/blog/831721 ClassLoader 提供了两个方法用于从装载的类路径中取得资源: public URL  getResource ( ...

  8. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...

  9. 安卓获取Assets目录下的资源

    获取Assets目录下的资源 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 ! ...

随机推荐

  1. MySQL安装过程中出现“APPLY security settings错误”的解决方式

    ***********************************************声明*************************************************** ...

  2. 图像处理之opencv---mat、cvmat、IplImage之间的转换

    一.Mat类型:矩阵类型,Matrix.  在openCV中,Mat是一个多维的密集数据数组.可以用来处理向量和矩阵.图像.直方图等等常见的多维数据. Mat有3个重要的方法: 1.Mat mat = ...

  3. 在JS中将JSON的字符串解析成JSON数据格式

    使用eval函数来解析 <script> var data="{root: [{name:'1',value:'0'},{name:'6101',value:'北京市'},{na ...

  4. 51 NOD 1753 相似子串 字符串hash

      1735  相似子串  基准时间限制:5 秒 空间限制:131072 KB 分值: 80   两个字符串相似定义为:1.两个字符串长度相等2.两个字符串对应位置上有且仅有至多一个位置所对应的字符不 ...

  5. Entity Framework(EF)(一)之database first

    1.EF简介ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.该框架曾经为.NET Framework的 ...

  6. C++设计模式实现--策略(Strategy)模式

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/L_Andy/article/details/30489331 一. 举例说明 曾经做了一个程序,程序 ...

  7. Strans 内表-xml文件

    一.内表到xml文件 <?sap.transform simple?> <tt:transform xmlns:tt="http://www.sap.com/transfo ...

  8. (转)C++ STL set() 集合

    set是STL中一种标准关联容器(vector,list,string,deque都是序列容器,而set,multiset,map,multimap是标准关联容器),它底层使用平衡的搜索树——红黑树实 ...

  9. Android 6.0 如何默认打开user版本的root权限【转】

    本文转载自:http://blog.csdn.net/wangjicong_215/article/details/77601638 1.system/core/adb/Android.mkdiff ...

  10. iOS 两个tableview的 瀑布流

    iOS 两个tableview的 瀑布流1. [代码]Objective-C     ////  DocViewController.m//  getrightbutton////  Created ...