ClassLoaders are tricky to get right.
The system ClassLoader only works with the classes on the classpath. Thus, you cannot use it in many Web applications, because your classes are loaded via custom ClassLoaders.
You could get the current class' ClassLoader via this.getClass().getClassLoader(). Or you could get the
thread context ClassLoader via Thread.getCurrentThread().getContextClassLoader(). Having got your ClassLoader, you can use it to get another Class or resource. You may find that you can use findResource() on the ClassLoader, but that will only have protected access, unless the custom ClassLoader widened it.