Synopses & Reviews
Java Examples in a Nutshell is full of real-world Java programming examples. The second edition of this bestselling book covers Java 1.3 and contains 164 complete, practical programs: over 17,900 lines of densely commented, professionally written Java code covering 20 distinct Java APIs, including Servlets, JavaServer Pages, XML, Swing, and Java 2D. David Flanagan, the author of Java in a Nutshell, has created an entire book of programs that readers can learn from and modify for their own use.This book is a companion volume to Java in a Nutshell, Java Foundation Classes in a Nutshell, and Java Enterprise in a Nutshell. While those books are quick references at heart, they each include accelerated tutorials on various Java topics. Java Examples in a Nutshell picks up where those books leave off, serving up a suite of example programs for novice Java programmers and experts alike. This book doesn't hold readers' hands or supply detailed explanations of Java syntax or method calls; it simply delivers well-commented working examples for exploring the wide range of what's possible with Java. Each chapter concludes with programming exercises that suggest avenues for building further knowledge.Java Examples in a Nutshell contains the following:
- Examples that demonstrate basic Java functionality and the essential Java API's, including I/O, threads, networking, security, reflection, serialization, and security.
- Programs that use the graphical user interface and graphics features of Java, highlighting the Swing, Java 2D, printing, data transfer, JavaBeans, and applet APIs.
- Examples that illustrate key enterprise APIs in Java, including remote method invocation (RMI), database connectivity (JDBC), servlets, JavaServer Pages (JSP), and XML.
- An example index that lets users look up a programming concept or Java class and find any examples in the book that demonstrate that concept or use that class.
Synopsis
In "Java Examples in a Nutshell, David Flanagan, the bestselling author of "Java in a Nutshell, has created an entire book of programs that not only serve as great learning tools, but can also be modified for individual use. The second edition covers Java 1.3, and contains 164 complete, practical examples: over 17,900 lines of densely commented, professionally written Java code covering 20 distinct Java API's, including Servlets, JavaServer Pages, XML, Swing, and Java 2D. Like the first edition, it's full of programs that demonstrate the core Java classes. This book is a companion volume to "Java in a Nutshell, "Java Foundation Classes in a Nutshell, and "Java Enterprise in a Nutshell, While those books are quick references at heart, they each include accelerated tutorials on various Java topics. "Java Examples in a Nutshell picks up where those books leave off, serving up a suite of example programs for novice Java programmers and experts alike.
Synopsis
This edition is a significant update to one of O'Reilly's bestselling Java titles. It covers the latest edition of Java, 1.3, and includes material on the core Java classes, JFC and key Enterprise APIs. It covers core Java topics and new technologies, such as Swing, Java 2D, Servlets and XML.
About the Author
David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engineering from the Massachusetts Institute of Technology. He lives with his wife and son in the U.S. Pacific Northwest bewteen the cities of Seattle, Washington and Vancouver, British Columbia. David has a simple website at http://www.davidflanagan.com.
Table of Contents
Preface
PART 1: Core Java APIs
Chapter 1. Java Basics
Hello World
FizzBuzz
The Fibonacci Series
Using Command-Line Arguments
Echo in Reverse
FizzBuzz Switched
Computing Factorials
Recursive Factorials
Caching Factorials
Computing Big Factorials
Handling Exceptions
Interactive Input
Using a StringBuffer
Sorting Numbers
Computing Primes
Exercises
Chapter 2. Objects, Classes, and Interfaces
A Rectangle Class
Testing the Rect Class
A Rect Subclass
Another Subclass
Complex Numbers
Computing Pseudo-Random Numbers
Computing Statistics
A Linked List Class
Advanced Sorting
Exercises
Chapter 3. Input/Output
Files and Streams
Working with Files
Copying File Contents
Reading and Displaying Text Files
Listing Directory and File Information
Compressing Files and Directories
Filtering Character Streams
Filtering Lines of Text
A Custom HTML Output Stream
Exercises
Chapter 4. Threads
Thread Basics
Threads and Thread Groups
Deadlock
Timers
Exercises
Chapter 5. Networking
Downloading the Contents of a URL
Using a URLConnection
Sending Email Through a URLConnection
Connecting to a Web Server
A Simple Web Server
A Proxy Server
Networking with Applets
A Generic Client
A Generic Multithreaded Server
A Multithreaded Proxy Server
Sending Datagrams
Receiving Datagrams
Exercises
Chapter 6. Security and Cryptography
Running Untrusted Code
Loading Untrusted Code
Message Digests and Digital Signatures
Cryptography
Exercises
Chapter 7. Internationalization
A Word About Locales
Unicode
Character Encodings
Handling Local Customs
Localizing User-Visible Messages
Formatted Messages
Exercises
Chapter 8. Reflection
Obtaining Class and Member Information
Invoking a Named Method
Exercises
Chapter 9. Object Serialization
Simple Serialization
Custom Serialization
Externalizable Classes
Serialization and Class Versioning
Serialized Applets
Exercises
PART 2: Graphics and GUIs
Chapter 10. Graphical User Interfaces
Components
Containers
Layout Management
Event Handling
A Complete GUI
Actions and Reflection
Custom Dialogs
Displaying Tables
Displaying Trees
A Simple Web Browser
Describing GUIs with Properties
Themes and the Metal Look-and-Feel
Custom Components
Exercises
Chapter 11. Graphics
Graphics Before Java 1.2
The Java 2D API
Drawing and Filling Shapes
Transforms
Line Styles with BasicStroke
Stroking Lines
Filling Shapes with Paint
Antialiasing
Combining Colors with AlphaComposite
Image Processing
A Custom Shape
Custom Strokes
Custom Paint
Advanced Animation
Displaying Graphics Examples
Exercises
Chapter 12. Printing
Printing with the Java 1.1 API
Printing with the Java 1.2 API
Printing Multipage Text Documents
Printing Swing Documents
Exercises
Chapter 13. Data Transfer
Data Transfer Architecture
Simple Copy-and-Paste
A Transferable Data Type
Cutting and Pasting Scribbles
Dragging and Dropping Scribbles
Exercises
Chapter 14. JavaBeans
Bean Basics
A Simple Bean
A More Complex Bean
Custom Events
Specifying Bean Information
Defining a Simple Property Editor
Defining a Complex Property Editor
Defining a Bean Customizer
Exercises
Chapter 15. Applets
Introduction to Applets
A First Applet
A Clock Applet
Applets and the Java 1.0 Event Model
Java 1.0 Event Details
Reading Applet Parameters
Images and Sounds
JAR Files
Exercises
PART 3: Enterprise Java
Chapter 16. Remote Method Invocation
Remote Banking
A Bank Server
A Multiuser Domain
Remote MUD Interfaces
The MUD Server
The MudPlace Class
The MudPerson Class
A MUD Client
Advanced RMI
Exercises
Chapter 17. Database Access with SQL
Accessing a Database
Using Database Metadata
Building a Database
Using the API Database
Atomic Transactions
Exercises
Chapter 18. Servlets and JSP
Servlet Setup
A Hello World Servlet
Servlet Initialization and Persistence: A Counter Servlet
Database Access with Servlets
A Login Screen with JSP
Request Forwarding
JSP Pages and JavaBeans
Ending a User Session
Custom Tags
Deploying a Web Application
Exercises
Chapter 19. XML
Parsing with JAXP and SAX 1
Parsing with SAX 2
Parsing and Manipulating with JAXP and DOM
Traversing a DOM Tree
Traversing a Document with DOM Level 2
The JDOM API
Exercises
Chapter 20. Example Index
Index