Tutorials : Java and JDOM: the perfect couple :

Contents
Introducing JDOM
The Element Class
The XML file containing the DVD library
A web application to handle the DVD library

A web application to handle the DVD library

In the final example I'll show you how to build a simple web application to manage a list of DVDs held in an XML file. We'll need two screens: one for showing the list of DVDs and one screen to show the details for a single DVD. On these screens we can then implement the basic operations "Save list of DVDs", "Create DVD", "Update DVD", and "Delete DVD". First the DVD list screen:

 

By clicking on the "Id"-hyperlinks you'll go to this screen:

I have used a very simple MVC-architecture for these two screens, using only jsp-files:

All the four files share a JavaBean called DVDManager. It contains the create, update and delete methods described above, a method to build the document tree, and several getters used by the List and Details screens.

You enter the application from the List controller, giving the command "file" and the name of the file that contains the DVD information. For example:

http://localhost:8080/dvds/ctllist.jsp?command=file&name=d:\dvds.xml

The List page uses the getter-methods to display the DVDs. By clicking on the Id-hyperlink you invoke the controller to the Details page, giving it the DVD's index in the List of DVDs. The details page again uses the getters to show the DVD data. Clicking on any of the buttons of the page brings you back to the controller for the List page. The controller will always sort the DVDs according to their titles.

All the four pages can be found in the zip-file whose address is given in the Resources section below.

Outputting the XML-tree

The XML document may be written in XML-format to an OutputStream or a Writer. You use the XMLOutputter class for this. In the beginning of the article you saw how to write the document to System.out:

XMLOutputter output = new XMLOutputter();
output.output(doc, System.out); 

Writing to a named file is just as simple:

FileWriter f = new FileWriter(new File("d:\\newfile.xml"));
outputter.output(doc, f);
f.close();

You can control the format of the listing by setting indentations and line breaks either with the XMLOutput constructor or by setter-methods.

JDOM has two other output possibilities. The document tree may be sent to a SAX event-receiver using the SAXOutputter class. Finally you may convert the JDOM tree into a DOM tree by the DOMOutputter class.

Conclusion

If you're a Java programmer (and you probably are if you've gotten this far!) you'll probably like JDOM. It builds on well-known Java language features, and hides much of the complexity in XML by making the common things simple to do. It's also important to notice that JDOM is a very open architecture that works well with other API's like SAX and DOM. If you're interested in how JDOM evolves and when it might become a standard, you can consider joining the mailing lists found at jdom.org.

Resources

 

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.