W. Clay Richardson, Donald Avondolio, Scot Schrager, Mark W. Mitchell, Jeff Scanlon9780471777106, 0471777102
The expert author team begins by uncovering the sophisticated Java language features, the methodology for developing solutions, and steps for exploiting patterns. They then provide you with a collection of real-world examples that will become an essential part of your developer’s toolkit. With this approach, you’ll gain the skills to build advanced solutions by utilizing the more complex and nuanced parts of Java JDK 6.
What you will learn from this book
How to use tools to make your work easier and more productive
Methods to develop effective user interfaces with Java Foundation Classes (JFC)
Steps to build web applications using the Model 1 and Model 2 architectures
Ways to interact with the databases and XML using JDBC and JAXB
Techniques for developing enterprise applications using EJB 3.0 and web services
How to package and deploy Java applications
Who this book is for
This book is for Java developers who are looking for an all-purpose resource, are ready for more advanced Java solutions and language features, and need assistance when tackling new Java problems that may be outside their technological experience.
Wrox Professional guides are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
Table of contents :
About the Authors……Page 5
Credits……Page 6
Contents……Page 8
Acknowledgments……Page 16
What This Book Covers……Page 18
How This Book Is Structured……Page 19
Conventions……Page 22
Errata……Page 23
p2p.wrox.com……Page 24
Part I: Thinking Like a Java Developer……Page 26
Introducing Derby……Page 28
Using Derby……Page 29
Generics……Page 32
Enhanced for Loop……Page 41
Additions to the Java Class Library……Page 42
Variable Arguments……Page 43
Boxing and Unboxing Conversions……Page 44
Static Imports……Page 46
Enumerations……Page 49
Metadata……Page 51
Important Java Utility Libraries……Page 59
Java Logging……Page 60
Java Preferences……Page 95
Summary……Page 102
Tools and Techniques for Developing Java Solutions……Page 104
Principles of Quality Software Development……Page 105
Be Agile……Page 106
Trace Your Actions to Need……Page 107
Think of Code as a Design, not a Product……Page 108
Manage Your Configuration……Page 109
Continuously Integrate……Page 110
Maintaining Short Iterations……Page 111
Track Your Issues……Page 112
Waterfall Methodology……Page 113
Unified Process……Page 115
Extreme Programming……Page 116
Observations on Methodology……Page 117
Ant……Page 118
Maven 2……Page 126
TestNG……Page 131
XDoclet……Page 135
JMeter……Page 142
Summary……Page 145
Exploiting Patterns in Java……Page 148
Keys to Understanding the Java Programming Language……Page 149
Keys to Understanding Tools Used in Java Development……Page 150
Keys to Developing Effective Java Solutions……Page 151
Designing a Single Class……Page 152
Creating an Association between Classes……Page 153
Creating an Inheritance Loop……Page 154
Adapter……Page 156
Model-View-Controller……Page 159
Command……Page 167
Strategy……Page 171
Composite……Page 175
Summary……Page 179
Part II: A Broad Understanding of Java APIs, Tools, and Techniques……Page 180
Developing Effective User Interfaces with JFC……Page 182
BorderLayout……Page 183
BoxLayout……Page 189
FlowLayout……Page 198
GridLayout……Page 203
GridBagLayout……Page 214
SpringLayout……Page 219
CardLayout……Page 227
GroupLayout……Page 233
Mustang Release Desktop Enhancements……Page 239
Managing Navigation Flows in Swing Applications……Page 250
Summary……Page 260
Application Data……Page 262
Sample Configuration Data Model for an Application……Page 264
Java Serialization: Persisting Object Graphs……Page 266
Key Classes……Page 267
Serializing Your Objects……Page 268
Extending and Customizing Serialization……Page 282
When to Use Java Serialization……Page 286
Design Differences……Page 287
Serializing Your JavaBeans……Page 290
When to Use XMLEncoder/Decoder……Page 294
Flexible XML Serialization: Java API for XML Binding (JAXB)……Page 295
Sample XML Document for the Configuration Object……Page 296
Defining Your XML Format with an XML Schema……Page 298
JAXB API Key Classes……Page 305
Marshalling and Unmarshalling XML Data……Page 306
Using JAXB-Generated Classes in Your Application……Page 308
Annotating Existing Java Classes for Use with JAXB……Page 315
When to Use JAXB……Page 332
Summary……Page 333
Persisting Your Application Using Databases……Page 336
JDBC API Overview……Page 337
Understanding the Two-Tier Model……Page 338
Understanding the Three-Tier Model……Page 339
Overview……Page 340
Managing Connections……Page 341
Understanding Statements……Page 343
Utilizing Result Sets……Page 353
Advanced Concepts……Page 358
Hibernate……Page 360
Hibernate Components……Page 361
Hibernate Example……Page 366
Summary……Page 379
Developing Web Applications Using the Model 1 Architecture……Page 380
What Is Model 1? Why Use It?……Page 381
JSP 2.0 Overview……Page 382
Integrated Expression Language (EL)……Page 390
JSTL 1.1 Overview……Page 391
Developing Your Web Application Visualizations with JSTL 1.1……Page 395
Developing Your Web Application Visualizations with JSP 2.0……Page 401
AJAX……Page 406
Summary……Page 416
What Is Model 2?……Page 418
Why Use Model 2?……Page 420
Developing an Application with WebWork……Page 421
What Is Inversion of Control and Why Is it Useful?……Page 422
Architecture……Page 424
Extending the Framework to Support Hibernate……Page 427
Preventing the Hanging Session……Page 428
Defining Your Domain Model……Page 430
Implementing Your Use Cases with Actions……Page 437
Developing Your Views……Page 440
Configuring Your Application……Page 447
Adapting to Changes……Page 449
Summary……Page 451
A First Look at Java Native Interface……Page 452
Creating the Java Code……Page 453
Creating the Native Code and Library……Page 454
Executing the Code……Page 456
Strings in JNI……Page 457
Arrays in JNI……Page 461
Working with Java Objects in C/C++……Page 467
Handling Java Exceptions in Native Code……Page 474
Working with Object References in Native Code……Page 476
Advanced Programming Using JNI……Page 480
System Design……Page 485
User Interface……Page 486
Summary……Page 496
EJB 3 and the Java Persistence API……Page 498
New Features……Page 499
Query Language……Page 500
EntityManager……Page 501
What Are Session Beans? The Demise of Entity Beans?……Page 505
Interceptors……Page 506
EJB 3 and Java Persistence API Web Component Examples……Page 510
Summary……Page 542
Communicating between Java Components and Components of Other Platforms……Page 544
A Bank Application: An EJB/Java EE Client……Page 545
Overview of Interprocess Communication and Basic Network Architecture……Page 546
Sockets……Page 547
The Java Socket API……Page 548
Implementing a Protocol……Page 555
Core RPC/RMI Principles……Page 567
CORBA Basics……Page 572
How to Turn an RMI Object into an RMI-IIOP Object……Page 576
When to Use CORBA……Page 578
Distributed File System Notifications: An Example CORBA System……Page 579
Web Services……Page 588
Random-Weather.org……Page 589
Platform-Independent RPC……Page 591
Summary……Page 622
Service Oriented Architecture……Page 624
Java Management Extensions……Page 625
The JMX Architecture……Page 626
Creating and Managing a Standard MBean……Page 627
JMX Management……Page 631
Endpoints: Queues and Topics……Page 635
Sending and Receiving Messages……Page 636
Request-Reply……Page 644
Split-Aggregate……Page 646
Summary……Page 648
Java Cryptography Architecture and Java Cryptography Extension (JCA/JCE)……Page 650
JCA Design and Architecture……Page 651
Java Cryptography Extension……Page 681
Program Security Using JAAS……Page 691
User Identification……Page 692
Executing Code with Security Checks……Page 693
Authorization……Page 697
Summary……Page 698
Examining Java Classpaths……Page 700
Investigating the Endorsed Directory……Page 705
Manipulating JAR Files……Page 706
Examining the Basic Manifest File……Page 709
Examining Applets and JARs……Page 710
Signing JAR Files……Page 711
Examining the JAR Index Option……Page 715
Analyzing Applets……Page 716
Basic Anatomy of an Applet……Page 717
Packaging an Applet for Execution……Page 718
Exploring Web Applications……Page 719
Examining the WAR Directory Structure……Page 720
Understanding the WAR Deployment Descriptor……Page 721
Packaging Enterprise JavaBeans……Page 723
Inspecting Enterprise Archives……Page 724
Deployment Scenario……Page 725
Examining the TicTacToe Example……Page 727
Installing Ant……Page 734
Building Projects with Ant……Page 735
Summary……Page 738
Index……Page 740
Reviews
There are no reviews yet.