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
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.
|