Delphi Clinic C++Builder Gate Training & Consultancy Delphi Notes Weblog Dr.Bob's Webshop
Hubert Klein Ikkink (aka Mr.Haki) - Communications Officer Dr.Bob's Kylix Kicks
 Book Review: SE Using Java Server Pages and Servlets
See Also: Dr.Bob's Programming Books for Delphi & C++Builder books co-authored by Bob Swart
Special Edition Using Java Server Pages and Servlets
Mark Wutka
754 pages

The author starts with an explanation of some web server techniques, like Common Gateway Interface (CGI), Active Server Pages (ASP) and of course servlets and Java Server Pages (JSP). In the next chapter we create our first JSP. Most books about JSP and servlets start with servlets, but the author decided to start with JSP in this book. All common JSP directives are introduced and explained. Even threading issues are already tackled in this chapter.

Servlets are the topic of the next chapter. The structure of a Java servlet is explained and we learn to build our first servlet. The advantages and disadvantages of JSP and servlets are also explained. Server-side techniques like JSP and servlets are available to handle user input. In a web application this input is done through a HTML form. Different ways to handle HTML form data (servlet and JSP) are explained by the author with extensive sample code.

Web application suffer from the HTTP protocol, because HTTP is stateless, which means it is difficult to keep a hold of date between requests. Chapter five covers this topic. First with simple hidden form variables followed by the session object available in servlets and JSP.

Developing an application usually involves debugging and logging. Both techniques are explained and for the debugging part the author explains how to set up the Tomcat servlet engine and jdb (the JDK command-line debugger). Organizing a web application is the topic of the next chapter. The authors explains how we can use the Model-View-Controller paradigm (MVC) with servlets and JSP, how to modularize components and more. Storing data has been covered in a previous chapter, but in chapter eight the author works out a complete example: the shopping cart.

In Java Server Pages we can use JavaBeans. The author explains how to do this in the next chapter with an example application. The next chapter is about some (simple) optimizations for web applications. For example we can use the StringBuffer class to concatenate string values.

The next part of the book dives deeper into JSP and servlets. Up until now everything has been basic and already contains enough information to start building web applications. To know more about the components which make up JSP and servlets (directives, HTTP protocol, components) we must read part two of the book. In different chapters the author explains more about servlets and JSP.

Part three of the book is titled Java Web Application Architecture. This is a very good part of the book. The author explains different web applications, from single-tier to three-tiered applications using Enterprise JavaBeans and CORBA. The first chapter of this part is about general web application architectures. Next the author create an example single-tier web application using files to store data on the server. In the next chapter a two-tiered application is build with a RDBMS to store application data. Even a poor-man's object-to-relational mapping is introduced.

The three-tiered example application is first build using Remote Method Invocation (RMI), followed by an application written using Common Object Request Broker Architecture (CORBA) components. And finally an application is build using Enterprise JavaBeans (EJB). The examples give good insight into what makes up a web application in different tier architectures.

The next part of the book covers XML, wireless applications and serving graphics. Sample applications are built using XML and XSL stylesheets in combination with JSP and servlets. It is very easy to create a wireless application using WAP with JSP and servlets. The author writes a complete application, which shows off how easy this is. The last chapter of this part is about graphics, how to upload them to the server and how we can write servlets, which can send back (manipulated) graphics to the web browser.

Advanced techniques are the topic of the last part of the book. Here we learn how we can packages a web application into a Web Application aRchive (WAR) file. This way we can create a single file, which contains all the necessary files and code for an application. This makes it very easy to deploy an application. Since JSP 1.1 we can extend the tags with our own defined tags. How to create new tags and put them in a web application is covered by the author. The web is not restricted to a single country, but is world wide. This means we have to take into account internationalization issues. A separate chapter covers this topic and explains how to use the web browser's settings to send back internationalized content. Security is also important for web application and is the topic of the next chapter. Different login techniques are explained.

The book concludes with an appendix. In the appendix we can find the JSP syntax, JSP API and servlet API reference. Also installation and running instructions for the following servlet engines are included: Apache and Tomcat, JRun, ServletExec and Resin.

This book contains a lot of information and when we have finished the first part of the book we are ready to build web applications. The next parts of the book go deeper into the subjects. Especially the part about web application architecture is useful, because it gives good insight into web application design. Because the author uses many examples every subject is clearly explained and the examples can be used to start right away.

(Hubert A. Klein Ikkink)

More Book Reviews

This webpage © 2001 by webmaster drs. Robert E. Swart (aka Dr.Bob - All Rights Reserved