advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

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.

 Microsoft Visual Studio 2010 Showcase
 Avaya Developer Showcase
 MSDN Spotlight
 PHP for Windows Showcase
XML error: undefined entity at line 39
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Windows 7: From Beta to Final Code in One Year
Google Shows Off Chrome OS, Releases Source
Microsoft Shows Off Silverlight 4, IE9 Plans
Metasploit Expands Vulnerability Test Framework
HyperCard Reborn?
Fedora 12 Takes Aim at Linux Networking
Top Supercomputer Nearly Doubles in Speed
Fedora 12 Linux Tackles Virtualization
Apple Gives iPhone Developers App Status Tracker
Novell Sets OpenSUSE 11.2 Free

Creating Custom Export Filters for StarOffice with XSLT
WPF Wonders: Using DataTemplates
Crystal Reports Family Offers Options for Developers
Avaya Aura Session Manager video
Avaya Aura Overview video
Exploring HTML 5's Audio/Video Multimedia Support
Overriding Virtual Functions? Use C++0x Attributes to Avoid Bugs.
Understanding the Cloud Computing Security Vulnerabilities
Cisco and IBM Target a Greener World
Upgrade to Visual Studio 2010 with the Ultimate Offer

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs