The getContent() method of the URL and URLConnection classes will not load content handlers in packages identified by the java.content.handler.pkgs property from the local classpath in a stand-alone application. This is because it uses the bootclasspath class loader instead of the normal application class loader. This bug is present starting in JDK 1.2 and continuing through JDK 1.3b1 on both Solaris and Windows. It is not present in JDK 1.1. It is the change in class loading behavior made in Java 2 that broke content handlers. Here's a sample program that demonstrates the problem. The program connects to my web server and attempts to get some tab separated content. However, it fails to use this content handler and instead uses the default content handler that's available in the bootclasspath. ---------Cut Here---------- package com.macfaq.net.www.content.text; import java.net.*; import java.io.*; import java.util.*; public class tab_separated_values extends ContentHandler { public static void main(String[] args) { System.setProperty("java.content.handler.pkgs", "com.macfaq.net.www.content"); try { URL u = new URL("http://metalab.unc.edu/javafaq/addresses.tab"); Object o = u.getContent(); // o should be a Vector if the content handler is found. Is it? if (o instanceof Vector) { System.out.println("Test succeeded. o is a " + o.getClass()); } else { System.out.println("Test failed. o is a " + o.getClass()); } } catch (Exception e) { e.printStackTrace(); } } public Object getContent(URLConnection uc) throws IOException { return new Vector(); } } ---------Cut Here--------- Here's typical output: % java com.macfaq.net.www.content.text.tab_separated_values Test failed. o is a class sun.net.www.MeteredStream There are multiple workarounds. Installing a ContentHandlerFactory will allow the local content handlers to be loaded. So will using the oldjava interpreter instead of the java interpreter. Finally you can use the non-standard -Xbootclasspath command line option to add your content handlers to the bootclasspath instead of the regular classpath. For example, D:\JAVA\JNP2\examples\16\bugtest>java -Xbootclasspath:.;D:\jdk1.3\jre\lib\rt.jar com.macfaq.net.www.content.text.tab_separated_values Test succeeded. o is a class java.util.Vector