逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::

ClassLoader可以用来方便的加载资源文件. 但如果资源文件在jar包里,不可使用Thread.currentThread().getContextClassLoader()来加载.

方法: Thread.currentThread().getContextClassLoader();

Returns the context ClassLoader for this Thread. The context ClassLoader is provided by the creator of the thread for use by code running in this thread when loading classes and resources. If not set, the default is the ClassLoader context of the parent Thread. The context ClassLoader of the primordial thread is typically set to the class loader used to load the application.

例如在Tomcat自己写的Servlet中,返回的ClassLoader如下,对应的目录是/WEB-INF/classes/:

WebappClassLoader
  delegate: false
  repositories:
    /WEB-INF/classes/
----------> Parent Classloader:
org.apache.catalina.loader.StandardClassLoader@5c74c3aa
所以如Hibernate, log4j, struts等把配置文件按规则取名,直接放在/WEB-INF/classes/目录里,会被自动的找到,而不需要做其他的配置。

而在普通的运用程序中,即自己写的类的ClassLoader: Test.class.getClassLoader().




posted on 2010-10-25 04:25 逛奔的蜗牛 阅读(755) 评论(0)  编辑 收藏 引用 所属分类: Java

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理