获取类路径下资源.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
—高级软件人才实作培训专家! 获取类路径下资源 所谓java中的类路径是告诉java解释器和javac编译器去哪里找它们要执行或导入的类。类(包括class 文件)可以存储在目录或jar 文件中,或者存储在两者的组合中,但是只有在它们位于类路径中的某个地方 时,java 编译器或解释器才可以找到它们。而类路径对一个javaweb 应用而言,就是WEB-INF/classes 下 和WEB-INF/lib 目录下的所有jar 文件。 将一个javaweb 项目发布到Tomcat服务器中,src 目录不再存在,src下的资源都会出现在WEB-INF 目录下的classes 目录中。现在我们要获取这个目录下的资源,有两种方式: (1) 使用ClassLoader对象获取; (2) 使用Class对象获取; 这两个类中都有获取类路径的方法,下面我们来分别讲解这两种方法,具体如下: 1. 使用ClassLoader对象获取类路径下资源 首先,要获取类路径下的资源,要先获取ClassLoader对象。ClassLoader对象可以通过Class对象来 获取,下面我们通过一个案例,来了解如何使用ClassLoader获取类路径下的资源,详情请参考获取类路 径下资源案例详解,点击此处Example17.zip 下载源码。 (1)创建一个web应用,Example17,在该应用的src 目录下,新建一个txt文件,test.txt,主要内容如 例1-1所示: 例 1-1test.txt hello world (2)在Example17应用中,新建一个Servlet类,ClassPathServlet,主要代码如例1- 所示: public class ClassPathServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获的ClassLoader对象 ClassLoader classLoader=this.getClass().getClassLoader(); //2.调用ClassLoader对象的getResourcAsStream()方法 InputStream input=classLoader.getResourceAsStream(test.txt); } } 由例1- 可知,通过ClassLoader 的getResourceAsStream(Stringpath)方法,获得了指定路径的对应输 入流,现在想要在控制台将该流打印成字符串,需要使用工具包:commons-io-1.4.jar(该jar 包源代码中已 存在)。然后使用该jar 包中的帮助类IOUtils,将输入流转换成字符串并返回。 (3)将commons-io-1.4.jar包拷贝到WEB-INF 目录下的lib 目录中,如图1- 所示: —高级软件人才实作培训专家! 拷贝进来 的jar 包 图1-1 导入jar 包 (4)如图 1-1所示,导入commons-io-1.4.jar包后,我们修改ClassPathServlet 的doGet()方法,如例 1-3 所示: 例 1-3 修改doGet()方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.获的ClassLoader对象

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档