Building Java Web Applications |
| |
The Servlet Technology
|
| |
The Benefits of Servlets
Servlet Application Architecture
How a Servlet Works
The Tomcat Servlet Container
Six Steps to Running Your First Servlet
|
| |
|
| |
Inside Servlets |
| |
The javax.servlet Package
A Servlet's Life Cycle
Obtaining Configuration Information
Preserving the ServletConfig
The Servlet Context
Sharing Information Among Servlets
Requests and Responses
The GenericServlet Wrapper Class
Creating Thread-Safe Servlets
|
| |
|
| |
Writing Servlet Applications |
| |
The HttpServlet Class
The HttpServletRequest Interface
HttpServletResponse
Sending an Error Code
Sending Special Characters
Buffering the Response
Populating HTML Elements
Request Dispatching
|
| |
|
| |
Accessing Databases with JDBC |
| |
The java.sql Package
Four Steps to Getting to the Database
A Database-Based Login Servlet
The Single Quote Factor
Inserting Data into a Table with RegistrationServlet
Displaying All Records
Search Page
An Online SQL Tool
Should I Keep the Connection Open?
Transactions
Connection Pooling
|
| |
|
| |
Session Management |
| |
What Is Session Management?
URL Rewriting
Hidden Fields
Cookies
Session Objects
Knowing Which Technique to Use
|
| |
|
| |
Application and Session Events |
| |
Listening to Application Events
Listening to HttpSession Events
|
| |
|
| |
Servlet Filtering |
| |
An Overview of the API
A Basic Filter
Mapping a Filter with a URL
A Logging Filter
Filter Configuration
A Filter that Checks User Input
Filtering the Response
Filter Chain
|
| |
|
| |
JSP Basics |
| |
What's Wrong with Servlets?
Running Your First JSP
How JSP Works
The JSP Servlet Generated Code
The JSP API
The Generated Servlet Revisited
Implicit Objects
|
| |
|
| |
JSP Syntax |
| |
Directives
Scripting Elements
Standard Action Elements
Comments
Converting into XML Syntax
|
| |
|
| |
Developing JSP Beans |
| |
Calling Your Bean from a JSP Page
A Brief Theory of JavaBeans
Making a Bean Available
Accessing Properties Using jsp:getProperty and jsp:setProperty
Setting a Property Value from a Request
JavaBeans Code Initialization
The SQLToolBean Example
|
| |
|
| |
Using JSP Custom Tags |
| |
Writing Your First Custom Tag
The Role of the Deployment Descriptor
The Tag Library Descriptor
The Custom Tag Syntax
The JSP Custom Tag API
The Life Cycle of a Tag Handler
|
| |
|
| |
Programmable File Download |
| |
Keys to Programmable File Download
Using the Brainysoftware.com File Download Bean
|
| |
|
| |
File Upload |
| |
The HTTP Request
Client-Side HTML
HTTP Request of an Uploaded File
Uploading a File
FileUpload Bean
Multiple File Upload
|
| |
|
| |
Security Configuration |
| |
Imposing Security Constraints
Allowing Multiple Roles
Form-Based Authentication
Digest Authentication
Methods Related to Security
Restricting Certain Methods
|
| |
|
| |
Caching |
| |
Caching Data into a Text File
Caching in Memory
|
| |
|
| |
Application Deployment |
| |
Application Directory Structure
Deployment Descriptor
Servlet Alias and Mapping
JSP Alias and Mapping
Packaging and Deploying a Web Application
|
| |
|
| |
Architecting Java Web Applications |
| |
Model 1 Architecture
Model 2 Architecture
|
| |
|
| |
Developing E-Commerce Applications |
| |
Project Specification
The Database Structure
Page Design
Preparation
Application Design
Building the Project
|
| |
|
Client-Side Programming with JavaScript |
| |
JavaScript Basics |
| |
Introduction to JavaScript
Adding JavaScript Code to HTML
JavaScript Object Model
Event Handler
Window and String Objects
|
| |
|
| |
Client-Side Programming Basics |
| |
Checking Whether JavaScript Is Enabled
Handling JavaScript-Unaware Browsers
Handling Different Versions of JavaScript
Including a JavaScript File
Checking the Operating System
Checking the Browser Generation
Checking the Browser Type
Checking the Browser Language
Handling Dynamic Variable-Names
|
| |
|
| |
Redirection |
| |
Anticipating Failed Redirection
Using the Refresh Meta Tag
Using the location Object
Going Back to the Previous Page
Moving Forward
Navigation with a SELECT Element
|
| |
|
| |
Client-Side Input Validation |
| |
The isEmpty Function
The trim Function
The trimAll Function
The isPositiveInteger Function
The isValidPhoneNumber Function
The isMoney Function
The isUSDate and isOZDate Functions
Converting Date Formats
Data Type Conversion: String to Numeric
Data Type Conversion: Numeric to String
Using the Validation Functions
|
| |
|
| |
Working with Client-Side Cookies |
| |
Creating Cookies with a <META> Tag
Creating Cookies with document.cookie
Creating Cookies with the setCookie Function
Reading Cookies on the Browser
Deleting a Cookie on the Browser
Checking If the Browser Can Accept Cookies Using JavaScript
Checking If the Browser Accepts Cookies Without JavaScript
|
| |
|
| |
Working with Object Trees |
| |
The Array Object
Truly Deleting an Array Element
Creating an Object
A Hierarchy of Objects
|
| |
|
| |
Controlling Applets |
| |
Is Java Enabled?
Is the Applet Ready?
Resizing an Applet
Calling an Applet's Method
Getting an Applet's Property
Setting an Applet Property
Using Java Classes Directly
Applet-to-JavaScript Communication
Accessing the Document Object Model from an Applet
Invoking JavaScript Functions from an Applet
Evaluating a JavaScript Statement from an Applet
Setting the Applet Parameter
Applet-to-Applet Communication Through JavaScript
Direct Applet-to-Applet Communication
|
| |
|
Developing Scalable Applications with EJB |
| |
Enterprise JavaBeans |
| |
What Is an Enterprise JavaBean?
Benefits of EJB
EJB Application Architecture
The Six EJB Roles
Types of Enterprise Beans
Writing Your First Enterprise Bean
EJB Explained
Writing Client Applications
Creating a Bean's Instance
|
| |
|
| |
The Session Bean |
| |
What Is a Session Bean?
Stateful and Stateless Session Beans
Writing a Session Bean
|
| |
|
| |
Entity Beans |
| |
What Is an Entity Bean?
The Remote Interface
The Home Interface
The Primary Key Class
The Entity Bean
Two Types of Entity Beans
Writing a BMP Entity Bean
Writing a CMP Entity Bean
|
| |
|
| |
EJB Query Language |
| |
EJB QL Syntax
EJB QL BNF
|
| |
|
| |
Java Message Service |
| |
Introduction to Messaging
The JMS API
The JMS API Messaging Domains
The JMS Object Model
Writing JMS Clients
|
| |
|
| |
Message-Driven Beans |
| |
What Is a Message-Driven Bean?
The Application Programming Interface
Writing a Message-Driven Bean
|
| |
|
| |
|