Существует несколько способов загрузки ресурсов, каждый из которых имеет немного другое значение -
ClassLoader::getSystemResource()
использует системный загрузчик классов. При этом используется путь к классу, который использовался для запуска программы. Если вы находитесь в веб-контейнере, таком как tomcat, он НЕ будет забирать ресурсы из вашего файла WAR.
Class<T>#getResource()
добавляет имя пакета класса к имени ресурса, а затем делегирует его загрузчику классов. Если ваши ресурсы хранятся в иерархии пакетов, которая отражает ваши классы, используйте этот метод.
ClassLoader#getResource()
делегирует его родительскому загрузчику классов. Это в конечном итоге будет искать ресурс вплоть до системного загрузчика классов.
Если вы запутались, просто придерживайтесь ClassLoader#getResource()