WebRef Update: Featured Article: Building Dynamic Pages with XML, XSL and JSP | 2
Building Dynamic Pages with XML, XSL and JSP
The directives in the "header" tell the JSP engine about the page and give it the opportunity to import supporting class libraries (such as the JDBC classes). One important directive is 'contentType="text/xml"' which tells the server to send the appropriate MIME type to the browser so it knows to expect XML content.
JSP pages have access to the same information as CGI scripts. If a GET or POST query has been made, the JSP (or servlet) can retrieve the data by means of a "request" statement. The page can first check to see if there are any variables to process. If not, it sends out the HTML page with three query forms. For this section, it is important that the appropriate "<!DOCTYPE..." is sent before any other data in order for the HTML to be rendered by the browser. The target of the form submissions is the JSPpage.
Once a form is submitted, the third section, containing JSP code, is executed. As with the other two sections, a special XSL stylesheet tag must appear before all content. This tag references the "areacode.xsl" stylesheet that is used by the browser to produce the final page results. The JSP code connects to the database then selects the appropriate data and outputs an XML stream of area code records.
XSL stylesheets use a template matching system to find and then process XML content. All processing starts at the root document element and proceeds from there. areacode.xsl matches each area code record and puts the content into a table row. Further processing (such as sorting or hiding) can be done with XSL if necessary.
The Result
A simple, yet useful application has been built with just two files and some information stored in a database. More extensive applications can be built with Java Server Pages that take advantage of built-in session capabilities and that work in conjunction with Java Servlets. Furthermore, we have only scratched the surface of the power of XML and XSL. These three open technologies will become essential components in your toolbox as you endeavor to build more dynamic and personalzied sites.
Additional Resouces
Source Code & Data Files for this article
www.cs.moravian.du/~brudis/webreference/
Java Server Pages Reference
java.sun.com/products/jsp/
W3C XML Site
www.w3.org/XML/
W3C XSL Site
www.w3.org/Style/XSL/
MySQL Database Home
www.mysql.org
MySQL JDBC Driver
www.worldserver.com/mm.mysql/
Jakarta/Tomcat Project Home
jakarta.apache.org
ServletExec Home
www.newatlanta.com
JRun Home
www.allaire.com
DocBook XSL Markup Library
nwalsh.com/xsl/docbook/html/docbook.xsl
About the Author:
Bob's been an Internet inhabitant for thirteen years (since "back in the days when folks still knew how to spell UUCP") and has been involved in various large-scale Web site development projects including www.biblestudytools.net. At present, Bob is an e-Business Technology Development Sr. Consultant at Johnson & Johnson, as well as being an adjunct professor in the Computer Science deptartment of Moravian College in Bethlehem, PA.
You can contact Bob at [email protected].
Previous: The Challenge and Standards
This article originally appeared in the February 24, 2000 edition of the WebReference Update Newsletter.
Comments are
welcome
Written by Bob Rudis and
Revised: May 9, 2000
URL: https://webreference.com/new/dynamicpt2.html