Blogs

View all Blogs >>

David Geary

Author of Graphic Java and co-author of Core JSF

David Geary
David Geary is the president of Clarity Training, Inc. (corewebdevelopment.com), where he teaches developers to implement web applications using JavaServer Faces and the Google Web Toolkit.

A prominent author, speaker, and consultant, David holds a unique qualification as a Java expert: He wrote the best-selling books on both Java component frameworks: Swing and JavaServer Faces (JSF). David's Graphic Java Swing was one of the best-selling Java books of all-time and Core JSF, which David wrote with Cay Horstman, is the best-selling book on JavaServer Faces.

David was one of a handful of experts on the JSF 1.0 Expert Group (EG) that actively defined the standard Java-based web application framework, and he's currently helping to define the next version of JSF on the JSF 2.0 EG.

Besides serving on the JSF and JSTL Expert Groups, David has contributed to open-source projects and co-authored Sun's Web Developer Certification Exam. He invented the Struts Template library which was the precursor to Tiles, a popular framework for composing web pages from JSP fragments, was the 2nd Struts committer and contributed to Shale.

A regular on the NFJS tour, David also speaks at other conferences such as TheServerSide Symposium, JavaOne and JavaPolis. David has taught at Java University and was twice voted a JavaOne rock star, for presentations in 2005 and 2007.


Presentations

Facelets explained

Facelets is a combination of Tiles and Tapestry, and it's the hottest JSF-related open source project on the planet. It's popularity is well deserved, and in fact, much of what is in Facelets today will make its way into the JSF 2.0 spec due out in 2008. So not only can you come to this session and see some really cool demos that you can put to use in the real world, but you'll also be learning JSF 2.0 before it's even been defined! How's that for a ROI?

Intro to Seam

Have you ever stopped to think that you need to learn two frameworks to develop a non-trivial, database-backed, web application? Struts and iBatis; JSF and Hibernate; Tapestry and EJB3.0. Two frameworks. And then you have to learn to use them together. Why do we have to learn two frameworks just to retrieve "Hello World" from a database and show it in a view. Isn't that crazy?

Now you can use one framework, and use one component model. One. Isn't that nice?



Using Ajax4jsf

Ajax4jsf makes it very easy to add Ajax to your JSF applications. Come to this presentation to see how. The JSF spec has changed little since JSF debuted in 2004. However, the open source community is a frentic cauldron of activity that has produced lots of cool innovations, many of them related to Ajax. In this talk, we'll look at one of the most popular open source Ajax frameworks for JSF, Ajax4jsf.

Ajax4jsf gives you a very capable set of low-level Ajax tags (JSP or Facelets), along with their corresponding APIs, that let you easily incorporate Ajax features, most of the time by just using a custom tag or two. Ajax4jsf is an ideal solution if you want to add Ajax functionality to an existing JSF application.

In early 2008, the JSF Expert Group has begun to focus it's attention on incorporating concepts from best-of-breed JSF Ajax frameworks, such as Ajax4jsf and ICEfaces. What you learn in this session will give you both a preview, and a leg up, on JSF 2.0.

Books

by David M. Geary

Advanced JavaServer Pages Buy from Amazon
Price: $44.99
  • Aimed at the more experienced Java Web developer, Advanced JavaServer Pages covers leading-edge techniques for writing more maintainable Web applications in Java. Stressing custom tag libraries and other reusable components, this book is all you need to take your programming skills to the next level.

    There are any number of good introductory texts on JavaServer Pages. This title distinguishes itself with techniques recommended by Sun for building better Web applications. Backed up by the author's own collection of custom tag libraries, which allow ordinary Web designers to program with tags instead of Java code, this text covers all the bases from getting started with tags to more advanced techniques. Early examples of tag libraries include a variety of ways to validate data in HTML forms. Throughout, the book deftly describes installing tag libraries, and shows how HTML designers can use custom tags after Java developers have created them.

    Readers also get best practices for JSP and Beans, which is a big plus. Author David Geary presents both Model 1 and Model 2 architectures. (In Model 1, JavaBeans are used to present data to front-end JSPs. In Model 2, a more sophisticated set of Java classes using the Model-View-Controller design pattern allows even greater flexibility.) Sample code for using JSP and JavaBeans for internationalized code (including French, German, and Chinese) will show you how to take your Web application to worldwide markets. The book concludes with a working case study of an online fruit stand (using several languages) and applies the techniques presented earlier on.

    All in all, with its mix of practical advice and some very useful techniques for getting the most out of JSP and Java for Web applications, Advanced JavaServer Pages fills a valuable niche for any serious Java developer who wants to see some of the best ways to create Web applications today. --Richard Dragan

    Topics covered:

    • Custom tag tutorial (including JSP and TLD files)
    • The tag life cycle
    • Tag attributes
    • Tag classes
    • Body tag handlers
    • Scripting variables
    • Nested tags
    • HTML forms and JavaBeans
    • Validating form data with Beans and custom tags
    • Templates and custom tags for defining regions within Web pages
    • Model 1 and Model 2 basics
    • Sample classes and tags for Model 2 framework (including samples for managing logins)
    • Event handling
    • Sensitive form resubmissions
    • Internationalization techniques (including resource bundles and locales)
    • Security issues (including basic, digest, form-based, and SSL authentication)
    • Custom tags for JDBC database programming
    • Database connection pooling, XML, and JavaBeans
    • The Simple API for XML (SAX)
    • The Document Object Model (DOM) and custom tags for these APIs
    • XSLT and XML
    • Case study for an internationalized online fruit stand
    • Appendix on Servlet filters and the Servlet 2.3 specification

by David Geary

Core JSTL: Mastering the JSP Standard Tag Library (Core Series) Buy from Amazon
List Price: $49.99
Price: $34.21
You Save: $15.78 (32%)
  • Core JSTL is an in-depth examination of the JavaServer Pages Standard Tag Library (JSTL), which provides a standard set of custom tags--including tags for iteration, accessing URLs, database access, internationalization, and the manipulation and transformation of XML documents--that Web page authors and software developers can use to develop Web sites. The book illustrates JSTL's capabilities with lots of code snippet and examples. These examples are creative and practical combinations of tags you can use right now! An advanced part of the book covers JSTL configuration and integration of Java code with JSTL. JSTL defines an expression language that facilitates Web site development by providing an alternative to Java code in Web pages. The JSTL expression language also allows easy access to data such as request parameters and attributes, cookies, and HTML headers. Core JSTL examines all aspects of this powerful new addition to the JavaServer Pages standard, and is written for page authors and software developers alike. JSTL is a Java standard for developing dynamic web sites. It gives non-programmers access to powerful operations through HTML-like tags.

by David Geary and Rob Gordon

Google Web Toolkit Solutions: More Cool & Useful Stuff Buy from Amazon
List Price: $39.99
Price: $33.10
You Save: $6.89 (17%)
  • Cu>

    Google Web Toolkit (GWT) is an open source Java development framework for building Ajax-enabled web applications. Instead of the hodgepodge of technologies that developers typically use for Ajax–JavaScript, HTML, CSS, and XMLHttpRequest–GWT lets developers implement rich client applications with pure Java, using familiar idioms from the AWT, Swing, and SWT. GWT goes beyond most Ajax frameworks by making it easy to build desktop-like applications that run in the ubiquitous browser, where the richness of the user interface is limited only by the developer’s imagination.

    This book focuses on the more advanced aspects of GWT that you need to implement real-world applications with rich user interfaces but without the heavy lifting of JavaScript and other Ajax-related technologies. Each solution in this practical, hands-on book is more than a recipe. The sample programs are carefully explained in detail to help you quickly master advanced GWT techniques, such as implementing drag-and-drop, integrating JavaScript libraries, and using advanced event handling methodologies.

    Solutions covered include

    • Building custom GWT widgets, including both high-level composites and low-level components

    • Implementing a viewport class that includes iPhone-style automated scrolling

    • Integrating web services with GWT applications

    • Incorporating the Script.aculo.us JavaScript framework into GWT applications

    • Combining Hibernate and GWT to implement database-backed web applications

    • Extending the GWT PopupPanel class to implement a draggable and resizable window

    • Creating a drag-and-drop module, complete with drag sources and drop targets

    • Deploying GWT applications to an external server

    • Dynamically resizing flex tables

    • Using GWT widgets in legacy applications developed with other frameworks, such as Struts and JavaServer Faces

    Complete Sample Code Available at www.coolandusefulgwt.com

    All of the code used in this book has been tested, both in hosted and web modes, and in an external version of Tomcat (version 5.5.17), under Windows, Linux, and Mac OS X. For Windows and Linux, we used 1.4.60, and for the Mac we used 1.4.61. NOTE: There are three separate versions of the code. Please download the correct JAR file for the operating system you are using.




    Foreword xiii

    Preface xvi

    Acknowledgments xviii

    About the Authors xix

    Solution 1: GWT Fundamentals and Beyond 1

    Solution 2: JavaScript Integration 53

    Solution 3: Custom Widget Implementation 71

    Solution 4: Viewports and Maps 103

    Solution 5: Access to Online Web Services 133

    Solution 6: Drag and Drop 167

    Solution 7: Simple Windows 199

    Solution 8: Flex Tables 237

    Solution 9: File Uploads 283

    Solution 10: Hibernate Integration 303

    Solution 11: Deployment to an External Server 325

    Solution 12: GWT and Legacy Code 343

    Index 371





by David Geary

Graphic Java 2, Volume 2, Swing (3rd Edition) (Sun Microsystems Press Java Series) (2 Book Set) Buy from Amazon
List Price: $69.99
Price: $48.99
You Save: $21.00 (30%)
  • From Sun Microsystems Press and Prentice Hall comes the definitive guide to Swing: an exhaustive reference spanning more than 1600 pages. Clearly and concisely written and loaded with illustrative code examples, Graphic Java provides the most comprehensive Swing coverage available.

    Part I (360 pages) discusses fundamental Swing concepts such as Swing component architecture, the JComponent class, borders, icons, actions, Swing and multithreading, Swing utilities, and pluggable look and feel.

    Swing components are the focus throughout the rest of the book. In addition to code examples that illustrate component use, components are further explored with class diagrams, property and event tables, and a look at AWT compatibility. The final third of the book is devoted to Swing's most complex components: lists, combo boxes, tables, trees, and the text package.


by David M. Geary

Graphic Java 1.2, Volume 1: AWT, Third Edition Buy from Amazon
Price: $49.99
  • The most comprehensive guide to the Java Foundation Classes available. Provides Java developers with the skills needed to build professional, cross platform applications that take full advantage of the Java Foundation Classes. Paper. CD-ROM included.