Home > Store

Java Server Pages From Scratch

Register your product to gain access to bonus material or receive a coupon.

Java Server Pages From Scratch

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2000
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-7897-2459-6
  • ISBN-13: 978-0-7897-2459-5

JavaServer Pages From Scratch teaches beginning users about the many techniques involved in JavaServer Pages by building an online auction house with an events calendar. In addition to discussing the planning and designing of an application, the book will also cover development of forms, validating data, registering new users, servlets, sessions management, enterprise javabeans, cookies and wireless protocol.

Sample Content

Table of Contents


1. Planning and Designing a Web Application.

Why Plan? The Application Development Lifecycle. Define Roles and Responsibilities.

Architect. Data Modeler. Server-Side Developer. Web Interface Designer. Web Integrator. Project Manager. Tester.

Identify Tools, Software, and Platforms.

Tools. Software. Platforms.

Define Guidelines.

Site Structure Guidelines. Page Design Guidelines. Coding Guidelines.

Develop a Web Interface.

Getting Ready. Home Is Where Web Scripting Begins. HTML Tags. Images. Links. Tables. Putting It All Together.

Summary. Next Steps.

2. Developing a Monthly Calendar Using Java Server Pages.

What You Are Going To Do. Using Apache Software Foundation's Tomcat Version 3.1.

Installing Tomcat. Preparing the Tomcat Server for Deploying Auction Station.

Sketching Out the Online Calendar Using HTML Elements.

Adding Comments. Including a Footer Containing Navigational Links.

Generating Dynamic Content.

Handling Dates with Java Classes. Using Java Classes Within the JSP. Generating the Current Month's Name Using an Expression. Using Scriptlets and Implicit Objects to Print the Month's Information. The “Generate Cells for the Month” Scriptlet.

Includes Revisited. Deploying the Application.

Setting a Directory as the Root in Tomcat. Debugging Your Application.


3. Adding Interactivity to the Calendar Application.

The Calendar Application Version 1.1. Developing the Input Page.

Defining the HTML Form. Choosing the Right Input Fields to Capture User Data. Defining the HTML Fields. Putting the Input Page Together.

Enhancing the Monthly Calendar JSP.

Extracting User Parameters Using the Request Implicit Object.

Handling Exceptional Conditions.

Using Error Pages. Performing Client-Side Validations Using JavaScript. Performing Server-Side Validations.

Creating a Yearly Calendar. Summary. Next Steps.

4. Adding JavaBeans to Implement Functionality and Send Email.

What You Are Going To Do. Introduction to JavaBeans. Modifying the Calendar Application by Adding JavaBeans.

Creating the MonthBean. Creating the FormValidator Bean. Create a JavaScript Routine to Generate Code for the Form-Handling Bean.

Composing the JSPs Using JavaBeans.

The Validator JSP. The Output JSP—month.jsp. The Input JSP. Deploying and Running the Application.

Sending Email from Within JSPs.

Using JavaMail and Java Activation Framework for Handling Email. Creating the SendMail JSP to Send Email. Using a JavaBean for Sending Email.

Next Steps.

5. Creating a Custom Tag Library for Displaying Errors and Sending Email.

What You Are Going To Do. Incorporating Custom Tags.

Developing a Simple Action Tag—today. Developing a Simple Body Action Tag—error. Developing a Nested Body Action Tag—email.

Next Steps.

6. Accessing Databases to Create the Calendar of Events and Registration Module.

Getting Started with Using a Relational Database.

Defining the Database and the Users Table Using SQL. Inserting Users Using SQL Data Manipulation Commands. Querying Users. Database Access by Java Applications.

Adding Events to the Calendar.

Setting Up a Connection to the Database. Create a JSP for Printing a Day's Events. Modifying the Monthly Calendar JSP to Display Events.

Developing a Custom Tag Library for Database Handling.

Connection, User Id, and Password Tags. Query and Modify Tags. The Foreach Iterative Tag. Setting Up the Tag Library. Modifying the Calendar of Events JSP Using the Database Tags.

Creating the Registration Module.

Registering New Users. Providing User Login. Handling Lost Passwords.

Performing Database Connection Pooling.

DBConnectionManager. DBConnectionPool. DBConnection. Performing Database Pooling Within Your JDBC Application.

Next Steps.

7. Using the Model 2 Architecture to Develop an Auction Items Catalog.

The Web Application Model.

Controller. Model or View Helper JavaBeans. View or Presentation Layer.

Developing the Database Schema for the Catalog.

Designing the Category Table. The Product Table. The Bid Table. Populating the Tables with Sample Data.

Developing the Model or View-Helper JavaBeans.

Address. Category. Item. User. Bid.

Developing Command Beans for the Model.

GetMainCategoriesCommand. GetCategoryHierarchyCommand. GetCategoryItemsCommand. GetItemInformationCommand.

Developing Controllers Using Servlets and JSPs.

Using Servlets for Implementing the Controller. Using JSPs. Developing the Controller for the Catalog. Developing a Controller for Viewing the Item Information.

Developing JSPs for the Presentation Layer.

Developing the Category View JSP. Developing the Items View JSP. Providing Multipage Item Listing. Displaying the Item Details.


8. Developing Protected Portions of AuctionStation.

What You Are Going To Do. Using Tomcat's HTTP Authentication.

Specifying User Information in Tomcat. Marking Protected Resources. HTTP Authentication in Action. Problems with Server HTTP Authentication.

Performing Custom Form-Based Authorization.

Adding Bids for Items. Placing an Item for Listing in AuctionStation.

Performing Custom Authorization.

Performing Custom Basic Authorization. Adding Categories to the Site.


9. Personalizing the Web Site.

Customizing the Calendar's Look.

Using Style Sheets. Styling month.jsp Using a Stylesheet. Allowing the User to Specify the Theme. Using Cookies to Store Customization Information.

Developing a Personal File Manager.

Developing a File-Upload Utility. Developing the UploadFilesCommand Bean. Developing the “Upload File” JSP.

Managing Files in the Personal Space.

Listing Files. Deleting Files.

Developing MyAuctions, MyBids, and MySpace.

Identifying the User. Displaying MyItems. Displaying MyBids. Displaying MySpace.

Connecting the Pieces.

Using HTML Frames. Using JSP “Templates.”


10. Developing Custom Views Using Java Applets.

What You Are Going To Do. Introducing Java Plug-Ins.

Anatomy of an Applet. Applet Restrictions.

Developing a Category Hierarchy View Applet.

Returning the Serialized Category Hierarchy by a JSP. Developing the CategoryViewApplet. Creating the JSP That Embeds the Applet.

Viewing the Information of a Selected Category.

Detecting Mouse Double-Clicks. Displaying the Category Information. Using Frames to Display the Pages.


11. Developing Content for the Wireless World.

Why Develop for Wireless?

The Wireless Markup Language. The Wireless Access Protocol.

Testing Wireless Applications.

Configuring Tomcat to Serve WML Documents.

Developing the Start Page.

Structuring a WML Deck. Adding a Banner Image. Adding a Site Map Card Containing Links.

Displaying the Monthly Calendar. Developing the Auction Catalog Module.

Displaying the Category Listing. Displaying the Items Listing. Displaying the Item Information Using Multiple Cards.

Bidding on an Item.

Displaying the Status of the Bid.

WML Decks from Scratch? Deploying the Web Application on Another Server.

Packaging Web Applications in WAR Files. Extra Modifications Required.


Appendix A. Online Material and Information.

Cascading Style Sheets (CSS). Enterprise JavaBeans (EJB). JavaMail. JavaScript. Java Server Pages (JSP), JDBC, and Servlets. Linux. Wireless Access Protocol (WAP) and Wireless Markup Language (WML). eXtensible Markup Language (XML). eXtensible Stylesheet Language (XSL). Miscellaneous.



Online Support

Maneesh Sahu serves as a contributing author for XML, Java and servlets to webreview.com and webtechniques.com. He is a Sun Certified Java Programmer. Maneesh is currently working for IBM on the Websphere Enterprise Customer Engagement team where he helps

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership