O'Reilly logo

Building Oracle XML Applications by Steve Muench

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Serving XML Datagrams over the Web

The examples we’ve encountered so far in this chapter show that using Java to produce XML for database query results is straightforward. However, all of the examples we’ve seen so far print the XML datagram to the standard “console” output stream System.out. While this makes sense for use on the command line and in scripts, it is one step short of what we need for real Oracle XML applications. For these to be effective, we need to serve application information in XML over the Web.

Serving Datagrams Using Java Servlets

Leveraging the work we’ve already done in the StockQuotesXml class from Example 11.3, we can produce dynamic stock quote datagrams for web delivery by extending HttpServlet in a class called StockQuotesXmlServlet and performing these simple steps inside its overridden doGet method:

  • Set the MIME type of the servlet’s response to text/xml

  • Retrieve the customer id from a URL parameter instead of a command-line argument

  • Call StockQuotesXml.print() to produce the XML for the stocks in the customer’s portfolio

  • Pass the output stream to the Servlet’s HttpServletResponse object instead of System.out

The StockQuotesXmlServlet class in Example 11.6 shows the code that gets the job done.

Tip

To run a Java servlet from JDeveloper 3.1, just select Run from the right mouse button menu in the project navigator. JDeveloper will launch a single-user web server on port 7070 and start your default browser to exercise the running servlet code. You can also ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required