Programming Tutorials

Simple HTML-Building Utilities

By: aathishankaran in JSP Tutorials on 2007-02-14  

An HTML document is structured as follows:

<!DOCTYPE ...>
<BODY ...>

You might be tempted to omit part of this structure, especially the DOCTYPE line, noting that virtually major browsers ignore it, even though the HTML 3.2 and 4.0 specifications require it.


@echo off
rem This is the version for the Java Web Server.
rem See for other versions.
set CLASSPATH=C:\JavaWebServer2.0\lib\servlet.jar;
C:\JDK1.1.8\bin\javac -d C:\JavaWebServer2.0\servlets %1%

I strongly discourage this practice. The advantage of the DOCTYPE line is that it tells HTML valuators which version of HTML you are using, so they know which specification to check your document against. These valuators are very valuable debugging services, helping you catch HTML syntax errors that your browser guesses well on, but that other browsers will have trouble displaying. The two most popular on-line valuators are the ones from the World Wide Web Consortium ( and from the Web Design Group ( They let you submit a URL, and then they retrieve the page, check the syntax against the formal HTML specification, and report any errors to you. Since a servlet that generates HTML looks like a regular Web page to visitors, it can be validated in the normal manner unless it requires POST data to return its result. Remember that GET data is attached to the URL, so you can submit a URL that includes GET data to the valuators.

Admittedly it is a bit cumbersome to generate HTML with println statements, especially long tedious lines like the DOCTYPE declaration. Some people address this problem by writing detailed HTML generation utilities in Java, and then use them throughout their servlets. I am skeptical of the utility of an extensive library for this. First and foremost, the inconvenience of generating HTML programmatically is one of the main problems addressed by Java Server Pages. JSP is a better solution, so don't waste effort building a complex HTML generation package.

Second, HTML generation routines can be cumbersome and tend not to support the full range of HTML attributes (CLASS and ID for style sheets, JavaScript event handlers, table cell background colors, and so forth). Despite the questionable value of a full-blown HTML generation library, if you find you're repeating the same constructs many times, you might as well create a simple utility file that simplifies those constructs. For standard servlets, there are two parts of the Web page (DOCTYPE and HEAD) that are unlikely to change and thus could benefit from being incorporated into a simple utility file.

Add Comment

* Required information


No comments yet. Be the first!

Most Viewed Articles (in JSP )

Latest Articles (in JSP)