An ideal guide to solving pitfalls in the Java language and related J2EE TM technologies, written by programmers for programmers! With the release of J2EE, Java has grown beyond a simple language to a full-blown development platform. Developers need to understand more than just the Java language--they also need to know about Enterprise JavaBeans (EJB), JavaServer Pages (JSP), servlets, and other Java technologies. Although it's more powerful, Java isn't perfect. Weaknesses in the language itself--as well as in J2EE and its related technologies--can cause programs to go haywire, and fixing them can waste a lot of precious time. Fortunately, developers can turn to More Java Pitfalls (a sequel to the popular original book, Java Pitfalls) to identify and avoid these traps. More Java Pitfalls provides in-depth coverage of fifty completely new Java pitfalls, showing detailed code-level solutions. Used as a reference guide or training tutorial, this book: Covers the latest J2EE and JDK 1.
4 specifications Extends coverage to related J2EE technologies, including EJBs, JSPs, and Servlets Covers new Java Web service APIs including JAXP, JAXR, and JAXM Addresses new pitfalls in the areas of J2ME, GUI programming, new input/output (NIO), and utilities The companion Web site for this book contains sample pitfalls, source code, errata, and links to additional resources.
Table of Contents
Introduction. Acknowledgments. PART ONE. THE CLIENT TIER. Item 1. When Runtime.exec( ) won't. Item 2. NIO Performance and Pitfalls. Item 3. I Prefer Not to Use Properties. Item 4. When Information Hiding Hides Too Much. Item 5. Avoiding Granularity Pitfalls in java.util.logging. Item 6. When Implementations of Standard APIs Collide. Item 7. My Assertions are Not Gratuitous! Item 8. The Wrong Way to Search a DOM. Item 9. The Saving a DOM Dilemma. Item 10. Mouse Button Portability. Item 11. Apache Ant and Lifecycle Management. Item 12. JUnit: Unit Testing Made Simple. Item 13. The Failure to Execute. Item 14. What Do You Collect? Item 15. Avoiding Singleton Pitfalls. Item 16. When setSize( ) Won't Work. Item 17. When Posting to a URL Won't. Item 18. Effective String Tokenizing. Item 19. Jlayered Pane Pitfalls. Item 20. When File.renameTo( ) Won't. Item 21. Use Iteration over Enumeration. Item 22. J2ME Performance and Pitfalls. PART T WO. THE WEB TIER. Item 23. Cache, It's Money. Item 24. JSP Design Errors. Item 25. When Serlet HttpSessions Collide. Item 26. When Applets Go Bad. Item 27. Transactional LDAP - Don't Make the Commitment. Item 28. Filtered Java: It's Smooth. Item 29. Some Direction about JSP Reuse and Content Delivery. Item 30. I'll Take my Java Regular. Item 31. Instance Variables In Servlets. Item 32. Design Flaws with Creating Database Connections Within Servlets. Item 33. Attempting to Use Both Output Mechanisms in Servlets. Item 34. The Mysterious File Protocol. Item 35. Reading Files from Servlets. Item 36. Too Many Submits. PART THREE. THE ENTERPRISE TIERS. Item 37. J2EE Architecture Considerations. Item 38. Design Strategies for Eliminating Network Bottleneck Pitfalls. Item 39. I'll Take the Local. Item 40. Image Obsession. Item 41. The Problem with Multiple Concurrent ResultSets. Item 42. Generating Primary Keys for EJB. Item 43. The Stateful Stateless Session Bean. Item 44. The Unprepared PreparedStatement. Item 45. Take a Dip in the resource Pool. Item 46. JDO and Data Persistence. Item 47. Where's the WSDL? Pitfalls of Using JAXR with UDDI. Item 48. Performance Pitfalls in JAX-RPC Application Clients. Item 49. Get Your Beans Off My Filesysem! Item 50. When Transactions Go Away, or Consistent State in Stateful Session EJBs. Index.
MICHAEL C. DACONTA is Director of Web and Technology Services for McDonald Bradley, Inc., where he develops advanced Java systems. He is the author of numerous programming books on C, C++, Java, and XML. KEVIN T. SMITH is a Principal Software Architect at McDonald Bradley, Inc., where he develops Java-based Internet security solutions. DONALD AVONDOLIO is a Senior Architect/Developer at McDonald Bradley, Inc. W. CLAY RICHARDSON is a Senior Architect/Developer at McDonald Bradley, Inc., where he currently serves as a development team lead.