Download (direct link):
New Features. This book covers the majority of new features like regular expressions, NIO, assertions, JAXR, JAXM, JAX-RPC, and many more.
Better Coverage. The authors followed the "pitfall dissection" model more consistently and thoroughly, producing pitfalls with more detail and analysis.
In general, the authors strove to outdo the first book in every regard. We sincerely hope that we succeeded and encourage your feedback.
Organization of the Book
Like the first one, this book has 50 items. Unlike the first book, in this one they are divided into three parts corresponding to the three-tiered architecture:
Part One: The Client Tier. This part covers both J2ME and J2SE and explores pitfalls in developing both networked and standalone clients. Topics covered include preferences, application deployment, logging, IO performance, and many more. This part has 22 pitfalls.
Part Two: The Web Tier. This part examines pitfalls in components that run inside the Web container, like servlets and JavaServer Pages (JSPs). These applications generate dynamic Web pages or communicate with applets, JNLP, or standalone clients. This parts covers topics like JSP design, caching, servlet filters, database connections, form validation, and many others. This part includes 14 pitfalls.
Part Three: The Enterprise Tier. Here we look at components that are part of the J2EE platform or execute inside an Enterprise Java Beans (EJB) container, like session, entity, and message-driven beans. These components interact with other enterprise systems, legacy systems, the Web tier, or directly to clients. Because
Web services play a key role in the enterprise tier, pitfalls related to some of the Web services APIs (JAXR and JAX-RPC) are in this section. Some other topics in this part are J2EE design errors, session beans, Java Data Objects (JDO), security, transactions, and many more. This part includes 14 pitfalls.
How to Use the Book
This book can be used in three primary ways: as a reference manual on specific problems, as a tutorial on the topics exposed by the problems, or as a catalyst to your organization's technical mentoring program. Let's discuss each in detail:
As a Reference Manual. You can use the table of contents to examine a specific solution to a problem you are facing. The majority of readers use this book in this manner. Some readers reported using the first book as a corporate resource in the technical library.
As a Tutorial. You can read the book cover-to-cover to learn about the underlying cause of each pitfall. Another way to approach the book this way is to browse the contents or pages and then read the pitfalls that interest you. Lastly, another use is to treat each pitfall as a bite-sized tutorial to present at a "brown-bag lunch" internal training session or technical exchange meeting.
As Part of a Mentoring Program. You can use the book as a starting point for a technical mentoring program in your organization. This book is founded on the principle of peer mentoring. The dictionary definition of a mentor is a "wise and trusted counselor." This often miscasts a mentor as having great age or experience. I disagree with this definition because it leads to an extreme scarcity of good mentors. At its essence, mentoring is one aspect in the search for truth. Thus, the key quality for being a mentor is a deep understanding of at least one domain that you are willing to share with others. Anyone can participate in this process, and I encourage you to be involved in peer mentoring. Working together, I believe we can solve the software quality crisis.
What's on the Companion Web Site?
The companion Web site will contain four key elements:
Source Code. The source code for all listings in the book will be available in a compressed archive.
Errata. Any errors discovered by readers or the authors will be listed with the corresponding corrected text.
Examples. Sample chapters, the table of contents and index will be posted for people who have not yet purchased the book to get a feel for its style and content.
Contact Addresses. The email addresses of the authors will be available as well as answers to any frequently asked questions.
This book is written by programmers for programmers. All comments, suggestions, and questions from the entire computing community are greatly appreciated. It is feedback from our readers that both makes the writing worthwhile and improves the quality of our work. I'd like to thank all the readers who have taken time to contact us to report errors, provide constructive criticism, or express appreciation.
I can be reached via email at firstname.lastname@example.org or via regular mail:
Michael C. Daconta c/o Robert Elliott Wiley Publishing, Inc.
111 River Street Hoboken, NJ 07030
Michael Daconta Sierra Vista, Arizona
About the code: In many of the code listings you will find a wrap character at the far right of some lines of code. We have used this character, to indicate turnovers where the space available did not allow for all the characters to set on the same line. The line of code directly below a ^ is a direct unbroken continuation of the line above it, where the ^ appears.