Copyright Foreword Acknowledgments Chapter 1. Introduction Section 1.1. Why Java for ColdFusion Developers? Section 1.2. Who This Book Is For Section 1.3. What This Book Is Not Section 1.4. Overview of Book Sections Chapter 2. Java Jump Start Section 2.1. The New ColdFusion Architecture Section 2.2. Benefits of Moving to the Java Technology Platform Section 2.3. The Java Platform Section 2.4. Gathering Your Tools Section 2.5. Anatomy of a Simple Java Program Section 2.6. Understanding the API Section 2.7. Exercise 1: Download and Install the SDK Section 2.8. Exercise 2: Using the API Documentation Chapter 3. Java Data Structures Section 3.1. Binary Overview Section 3.2. Data Types in ColdFusion Section 3.3. Data Types in Java Section 3.4. Primitive Data Types Section 3.5. Variable Assignment and Initialization Section 3.6. Operators Section 3.7. Overflow Section 3.8. Operator Precedence Section 3.9. Casts and Conversions Section 3.10. Java Standard Classes Section 3.11. What's Next Chapter 4. Programming Structures Section 4.1. Wrapper Classes Section 4.2. Strings Section 4.3. Loops Section 4.4. Arrays Section 4.5. Conditional Logic Section 4.6. Example Program: CheckerBoard.java Section 4.7. Example Program: Debt Calculator Section 4.8. Command Line Input Section 4.9. Using Methods: Toward Object-Oriented Programming Section 4.10. Visibility Section 4.11. Composition of the main Method Section 4.12. What's Next? Chapter 5. Object-OrientedApplication Design Section 5.1. Objects Section 5.2. Why Software Projects Fail Section 5.3. Software Development Processes Section 5.4. Case Study: Bookstore Section 5.5. Introduction to OOAD Section 5.6. Use Cases Section 5.7. Creating UML Diagrams Section 5.8. Class Diagrams Section 5.9. User Scenarios and Use-Case Diagrams Section 5.10. Collaboration Diagrams Section 5.11. Sequence Diagrams Section 5.12. Package Diagrams Section 5.13. Encapsulation Section 5.14. Inheritance Section 5.15. Software and Hollywood Movies Section 5.16. What's Next? Chapter 6. IDEs Section 6.1. Macromedia Editor Changes and Java IDEs Section 6.2. Projects Section 6.3. Dreamweaver MX Section 6.4. Sun ONE Studio 3 (Forte for Java) Section 6.5. JBuilder Section 6.6. IntelliJ IDEA Section 6.7. Putting Your IDE to Work Section 6.8. What's Next Chapter 7. Objects and Classes Section 7.1. Packages Section 7.2. Documentation with JavaDoc Section 7.3. Field Defaults and Field Initializers Section 7.4. Polymorphism Section 7.5. Constructors Section 7.6. static Methods Section 7.7. The this Reference Section 7.8. Stack and Heap Memory Section 7.9. Putting Things Together Section 7.10. What's Next Chapter 8. Exceptions Section 8.1. Exceptions Section 8.2. What's Next Chapter 9. Advanced Object-Oriented Concepts Section 9.1. Inner Classes Section 9.2. Inheritance Section 9.3. Abstract Classes and Abstract Methods Section 9.4. Interfaces Section 9.5. final Section 9.6. Reflection Section 9.7. What's Next? Chapter 10. Extending ColdFusion with Java Section 10.1. Configure ColdFusion Server Settings for Java Section 10.2. Using <cfobject> Section 10.3. CFX Custom Tags Section 10.4. Applets Section 10.5. Using Applets with <cfapplet> Section 10.6. Working with Browsers and the Java Plugin Section 10.7. Swing and AWT Section 10.8. What's Next? Chapter 11. Collections and Regular Expressions Section 11.1. Synchronization and <cflock> Section 11.2. ColdFusion Structures Section 11.3. Collections Overview Section 11.4. General Collections Methods Section 11.5. Collections Interfaces Section 11.6. Collection Classes Section 11.7. Lists Section 11.8. Sets Section 11.9. Maps Section 11.10. Using Regular Expressions Section 11.11. What's Next Chapter 12. JDBC Section 12.1. Using JDBC Section 12.2. Metadata Section 12.3. Transactions Section 12.4. Stored Procedures Section 12.5. Example GUI Application: Database Query Viewer Section 12.6. What's Next Chapter 13. Servlets and CFMX/J2EE Integration Section 13.1. Using Java Technology to Create Web Sites Section 13.2. Compare ColdFusion and Java Web Technologies Section 13.3. ColdFusion MX J2EE Capabilities Section 13.4. Java Web Servers Section 13.5. Installing Tomcat Section 13.6. Configuring JSP Web Applications Section 13.7. Creating a Tomcat Web Application Manually Section 13.8. Servlets Section 13.9. A Database-Driven Authentication Servlet Section 13.10. ColdFusion MX and J2EE Integration Section 13.11. Configuring MySQL Database Server Section 13.12. What's Next? Chapter 14. JavaServer Pages Section 14.1. Overview of JSP Section 14.2. Scripting Elements Section 14.3. Directives Section 14.4. Actions Section 14.5. Model-View-Controller Section 14.6. Implicit Objects Section 14.7. Error Pages Section 14.8. JavaBeans Section 14.9. Sample Bean Application: Writing Dynamic XML Section 14.10. What's Next? Chapter 15. JSP Custom Tags Section 15.1. Getting Started with Custom Tags Section 15.2. Writing a Simple Custom Tag Section 15.3. Importing a JSP Library in CFMX Section 15.4. Working with the JSTL Section 15.5. The web.xml File Section 15.6. JSP Satellite Developments Section 15.7. What's Next? Chapter 16. J2EE Case Study: An E-commerce Site Section 16.1. Application Overview Section 16.2. Database Section 16.3. Setup Section 16.4. Root Application Files Section 16.5. Styles Section 16.6. WEB-INF Section 16.7. WEB-INF/classes/com/cybertrails/store Section 16.8. WEB-INF/classes/com/cybertrails/store/beans Section 16.9. WEB-INF/classes/com/cybertrails/store/tags Section 16.10. WEB-INF/classes/com/cybertrails/admin Section 16.11. WEB-INF/lib Section 16.12. WEB-INF/jstl10 Section 16.13. What's Next? Appendix A. JSP 1.2 Reference Section A.1. Comments Section A.2. Directives Section A.3. Standard Actions Appendix B. API Reference Section B.1. javax.servlet Interfaces, Classes, and Exceptions Section B.2. JSP API for javax.servlet.jsp and java.servlet.jsp.tagext Section B.3. javax.servlet Section B.4. javax.servlet.http Interfaces and Classes Appendix C. Glossary of Terms Appendix D. Java Bookmarks Section D.1. General Java Section D.2. JSP and Servlets Appendix E. Quick Reference Section E.1. Checking Environment Variables Section E.2. Setting CLASSPATH Section E.3. Setting JAVA_HOME Section E.4. Setting the PATH Section E.5. Checking Current Version Section E.6. Compiling and Running Programs Section E.7. Primitive Data Types Section E.8. Declaring and Initializing Variables Section E.9. Class Definition Section E.10. Constructors Section E.11. Declaring Methods Section E.12. Calling Methods Section E.13. Overloading Methods Section E.14. Overriding Methods Section E.15. package Section E.16. import Section E.17. Inheritance Section E.18. Defining and Implementing an Interface Section E.19. Exceptions Section E.20. Creating a .jar File Section E.21. Creating the Proper Directory Structure for a Web Application Section E.22. The Simplest Possible web.xml File Section E.23. Creating a .war File Index