Creating JSPs

You create JSPs in basically the same way you create HTML files. You
can use an HTML editor to create pages and edit the page layout. You make
a page a JSP by inserting JSP-specific tags into the raw source code where
needed, and by giving the file a .jsp extension.

JSPs are compiled into servlets, so servlet design considerations also
apply to JSPs. JSPs and servlets can perform the same tasks, but each excels
at one task at the expense of the other. Servlets are strong in processing
and adaptability. However, performing HTML output from them involves many
cumbersome println statements that must be coded by hand.
Conversely, JSPs excel at layout tasks because they are simply HTML files
and can be created with HTML editors, though performing complex computational
or processing tasks with them is awkward. For information about servlets,
see Chapter 3, Using Servlets

Designing for Ease of Maintenance

Each JSP can call or include any other JSP. For example, you can create
a generic corporate banner, a standard navigation bar, and a left-side column
table of contents, where each element is in a separate JSP and is included
for each page built. The page can be constructed with a JSP functioning as
a frameset, dynamically determining the pages to load into each subframe.
A JSP can also be included when the JSP is compiled into a servlet or when
a request arrives.

Designing for Portability

JSPs can be completely portable between different applications and different
servers. A disadvantage is that they have no particular application data knowledge,
but this is only a problem if they require that kind of data.

One possible use for generic JSPs is for portable page elements such
as navigation bars or corporate headers and footers, which are meant to be
included in other JSPs. You can create a library of reusable generic page
elements to use throughout an application, or even among several applications.

For example, the minimal generic JSP is a static HTML page with no JSP-specific
tags. A slightly less minimal JSP might contain some Java code that operates
on generic data such as printing the date and time, or that makes a change
to the page's structure based on a standard value set in the request object.

Handling Exceptions

If an uncaught exception occurs in a JSP file, Sun Java System Web Server
generates an exception, usually a 404 or 500 error. To avoid this problem,
set the errorPage attribute of the <%@ page%> tag.