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:
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.
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 insidegetInputStream( )
and return text/html. Binary data often uses one of the many application types. In some cases, you may be able to use theURLConnection.guessContentTypeFromName( )
orURLConnection.guessContentTypeFromStream( )
methods to determine the right MIME type.Write a subclass of
URLConnection
that understands this protocol. It should implement theconnect( )
method and may override thegetContent Type( )
,getOutputStream( )
, andgetInputStream( )
methods ofURL Connection
. It also needs a constructor that builds a newURLConnection
from aURL
.Write a subclass of
URLStreamHandler
with anopenConnection( )
method that knows how to return a new instance of your subclass ofURLConnection ...
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.