More Protocol Handler Examples and Techniques

Now that you’ve seen how to write one protocol handler, it’s not at all difficult to write more. Remember the five basic steps of creating a new protocol handler:

  1. Design a URL for the protocol, if a standard URL for that protocol doesn’t already exist. As of July 2000, the official list of URL schemes at the IANA (http://www.isi.edu/in-notes/iana/assignments/url-schemes) includes only 29 different schemes and reserves three more. For anything else, you need to define your own. Make your new URL as similar to an http URL as possible.

  2. Decide what MIME type should be returned by the protocol handler’s getContentType( ) method. The text/plain content type is often appropriate for legacy protocols. Another option is to convert the incoming data to HTML inside getInputStream( ) and return text/html. Binary data often uses one of the many application types. In some cases, you may be able to use the URLConnection.guessContentTypeFromName( ) or URLConnection.guessContentTypeFromStream( ) methods to determine the right MIME type.

  3. Write a subclass of URLConnection that understands this protocol. It should implement the connect( ) method and may override the getContent Type( ), getOutputStream( ), and getInputStream( ) methods of URL Connection. It also needs a constructor that builds a new URLConnection from a URL.

  4. Write a subclass of URLStreamHandler with an openConnection( ) method that knows how to return a new instance of your subclass of URLConnection ...

Get Java Network Programming, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.