[jdom-interest] best way to build JDOM from URLConnection?

John Interrante jinterra at nycap.rr.com
Thu Nov 2 05:25:41 PST 2000


What's the best way (in terms of performance, speed, and correctness)
to build a JDOM document from an URL connection?  Let me illustrate:

    // Open the connection

    URL url = new URL(stringUrl);
    URLConnection connection = url.openConnection();

    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.setUseCaches(false);
    connection.setRequestProperty("Content-type", CONTENT_TYPE);
    connection.setRequestProperty("Content-transfer-encoding", CONTENT_ENCODING);

    // Send the HTTP request

    OutputStream output = connection.getOutputStream();
    try {
        Document request = createRequest(test);
        xmlOutputter_.output(request, output);
    }
    finally {
        output.close();
    }

    // Parse the HTTP response and try to build a JDOM document

    Reader reply = new InputStreamReader(connection.getInputStream(), CONTENT_ENCODING);
    Document doc = builder_.build(reply);

    // Or would an InputStream be better than a Reader?

    InputStream reply = connection.getInputStream();
    Document doc = builder_.build(reply);

    // And of course, we should use a buffered reader or inputstream...

    etc.

This is a case of two applications exchanging XML documents.  The
encoding has been agreed upon and is the same for both the HTTP
connection (CONTENT_ENCODING) and the XML documents which are the body
of the HTTP request/reply.  I'm just wondering whether we should
explicitly instantiate a Reader since we already know the encoding, or
if it's still better to pass an InputStream to the builder and the
underlying XML parser.  We're using both JDOM and Xerces out of CVS,
i.e., Xerces 1.2.1+ and JDOM beta 5+.

                John
-- 
John Interrante * Niskayuna, NY * GE CRD, Web and E-Business Solutions




More information about the jdom-interest mailing list