le width="100%"><tr><td> Preface </td></tr></table><table width="100%"><tr><td> 1. Supplements to the Java 2 Platform </td></tr></table><table width="100%"><tr><td> 1.1 Obtaining Commons Lang </td></tr></table><table width="100%"><tr><td> 1.2 Joining the Commons-User Mailing List </td></tr></table><table width="100%"><tr><td> 1.3 Getting the Commons Lang Source Code </td></tr></table><table width="100%"><tr><td> 1.4 Automating the Generation of toString()Content </td></tr></table><table width="100%"><tr><td> 1.5 Customizing Generated toString()Content </td></tr></table><table width="100%"><tr><td> 1.6 Automating hashCode()and equals() </td></tr></table><table width="100%"><tr><td> 1.7 Automating compareTo() </td></tr></table><table width="100%"><tr><td> 1.8 Printing an Array </td></tr></table><table width="100%"><tr><td> 1.9 Cloning and Reversing Arrays </td></tr></table><table width="100%"><tr><td> 1.10 Transforming Between Object Arrays and Primitive Arrays </td></tr></table><table width="100%"><tr><td> 1.11 Finding Items in an Array </td></tr></table><table width="100%"><tr><td> 1.12 Creating a Map from a Multidimensional Array </td></tr></table><table width="100%"><tr><td> 1.13 Formatting Dates </td></tr></table><table width="100%"><tr><td> 1.14 Rounding Date Objects </td></tr></table><table width="100%"><tr><td> 1.15 Truncating Date Objects </td></tr></table><table width="100%"><tr><td> 1.16 Creating an Enum </td></tr></table><table width="100%"><tr><td> 1.17 Generating Unique Numeric Identifiers </td></tr></table><table width="100%"><tr><td> 1.18 Validation of Method Parameters </td></tr></table><table width="100%"><tr><td> 1.19 Measuring Time </td></tr></table><table width="100%"><tr><td> 2. Manipulating Text </td></tr></table><table width="100%"><tr><td> 2.1 Setting Up StringUtils and WordUtils </td></tr></table><table width="100%"><tr><td> 2.2 Checking for an Empty String </td></tr></table><table width="100%"><tr><td> 2.3 Abbreviating Strings </td></tr></table><table width="100%"><tr><td> 2.4 Splitting a String </td></tr></table><table width="100%"><tr><td> 2.5 Finding Nested Strings </td></tr></table><table width="100%"><tr><td> 2.6 Stripping and Trimming a String </td></tr></table><table width="100%"><tr><td> 2.7 Chomping a String </td></tr></table><table width="100%"><tr><td> 2.8 Creating an Emphasized Header </td></tr></table><table width="100%"><tr><td> 2.9 Reversing a String </td></tr></table><table width="100%"><tr><td> 2.10 Wrapping Words </td></tr></table><table width="100%"><tr><td> 2.11 Testing the Contents of a String </td></tr></table><table width="100%"><tr><td> 2.12 Measuring the Frequency of a String </td></tr></table><table width="100%"><tr><td> 2.13 Parsing Formatted Strings </td></tr></table><table width="100%"><tr><td> 2.14 Calculating String Difference </td></tr></table><table width="100%"><tr><td> 2.15 Using Commons Codec </td></tr></table><table width="100%"><tr><td> 2.16 Getting the Commons Codec Source Code </td></tr></table><table width="100%"><tr><td> 2.17 Calculating Soundex </td></tr></table><table width="100%"><tr><td> 3. JavaBeans </td></tr></table><table width="100%"><tr><td> 3.1 Representing Beans Graphically </td></tr></table><table width="100%"><tr><td> 3.2 Obtaining Commons BeanUtils </td></tr></table><table width="100%"><tr><td> 3.3 Getting the Commons BeanUtils Source Code </td></tr></table><table width="100%"><tr><td> 3.4 Accessing Simple Bean Properties </td></tr></table><table width="100%"><tr><td> 3.5 Accessing Nested Bean Properties </td></tr></table><table width="100%"><tr><td> 3.6 Accessing Indexed Bean Properties </td></tr></table><table width="100%"><tr><td> 3.7 Accessing Mapped Bean Properties </td></tr></table><table width="100%"><tr><td> 3.8 Accessing a Simple,Nested,Indexed,and Mapped Bean Property </td></tr></table><table width="100%"><tr><td> 3.9 Determining the Type of a Bean Property </td></tr></table><table width="100%"><tr><td> 3.10 Comparing Beans </td></tr></table><table width="100%"><tr><td> 3.11 Copying Bean Properties </td></tr></table><table width="100%"><tr><td> 3.12 Cloning a Bean </td></tr></table><table width="100%"><tr><td> 3.13 Setting a Bean Property </td></tr></table><table width="100%"><tr><td> 3.14 Testing Property Access </td></tr></table><table width="100%"><tr><td> 3.15 Validating Beans with Predicates </td></tr></table><table width="100%"><tr><td> 3.16 Creating a Map of Bean Properties </td></tr></table><table width="100%"><tr><td> 3.17 Wrapping a Bean with a Map </td></tr></table><table width="100%"><tr><td> 3.18 Creating a Dynamic Bean </td></tr></table><table width="100%"><tr><td> 3.19 Getting and Setting Properties as Strings </td></tr></table><table width="100%"><tr><td> 4. Functors </td></tr></table><table width="100%"><tr><td> 4.1 Obtaining Commons Collections </td></tr></table><table width="100%"><tr><td> 4.2 Getting the Commons Collections Source Code </td></tr></table><table width="100%"><tr><td> 4.3 Reversing a Comparator </td></tr></table><table width="100%"><tr><td> 4.4 Chaining Comparators </td></tr></table><table width="100%"><tr><td> 4.5 Comparing Nulls </td></tr></table><table width="100%"><tr><td> 4.6 Fixed-Order Comparison </td></tr></table><table width="100%"><tr><td> 4.7 Using Simple Predicates </td></tr></table><table width="100%"><tr><td> 4.8 Writing a Custom Predicate </td></tr></table><table width="100%"><tr><td> 4.9 Creating Composite Predicates </td></tr></table><table width="100%"><tr><td> 4.10 Transforming Objects </td></tr></table><table width="100%"><tr><td> 4.11 Creating a Chain of Transformations </td></tr></table><table width="100%"><tr><td> 4.12 Applying Conditional Transformations </td></tr></table><table width="100%"><tr><td> 4.13 Writing a Closure </td></tr></table><table width="100%"><tr><td> 4.14 Chaining Closures </td></tr></table><table width="100%"><tr><td> 4.15 Modeling Conditional Statements with Closures </td></tr></table><table width="100%"><tr><td> 4.16 Modeling Loops with Closures </td></tr></table><table width="100%"><tr><td> 5. Collections </td></tr></table><table width="100%"><tr><td> 5.1 Obtaining Commons Collections </td></tr></table><table width="100%"><tr><td> 5.2 Using a Looping Iterator </td></tr></table><table width="100%"><tr><td> 5.3 Iterating Over an ArrayList </td></tr></table><table width="100%"><tr><td> 5.4 Filtering a Collection with a Predicate </td></tr></table><table width="100%"><tr><td> 5.5 Iterating Through Distinct Elements </td></tr></table><table width="100%"><tr><td> 5.6 Using a Bag </td></tr></table><table width="100%"><tr><td> 5.7 Using a Buffer </td></tr></table><table width="100%"><tr><td> 5.8 Creating a Priority Queue </td></tr></table><table width="100%"><tr><td> 5.9 Using a Blocking Buffer </td></tr></table><table width="100%"><tr><td> 5.10 Storing Multiple Values in a Map </td></tr></table><table width="100%"><tr><td> 5.11 Retrieving a Key by a Value </td></tr></table><table width="100%"><tr><td> 5.12 Using a Case-Insensitive Map </td></tr></table><table width="100%"><tr><td> 5.13 Creating Typed Collections and Maps </td></tr></table><table width="100%"><tr><td> 5.14 Constraining Map Values </td></tr></table><table width="100%"><tr><td> 5.15 Constraining List Contents </td></tr></table><table width="100%"><tr><td> 5.16 Transforming Collections </td></tr></table><table width="100%"><tr><td> 5.17 Creating a Least Recently Used Cache </td></tr></table><table width="100%"><tr><td> 5.18 Using a Lazy Map </td></tr></table><table width="100%"><tr><td> 5.19 Counting Objects in a Collection </td></tr></table><table width="100%"><tr><td> 5.20 Performing Set Operations </td></tr></table><table width="100%"><tr><td> 5.21 Retrieving Map Values Without Casting </td></tr></table><table width="100%"><tr><td> 6. XML </td></tr></table><table width="100%"><tr><td> 6.1 Obtaining Jakarta Commons Digester </td></tr></table><table width="100%"><tr><td> 6.2 Turning XML Documents into Objects </td></tr></table><table width="100%"><tr><td> 6.3 Namespace-Aware Parsing </td></tr></table><table width="100%"><tr><td> 6.4 Creating a Simple XML Command Language </td></tr></table><table width="100%"><tr><td> 6.5 Variable Substitution and XML Parsing </td></tr></table><table width="100%"><tr><td> 6.6 Obtaining Jakarta Commons Betwixt </td></tr></table><table width="100%"><tr><td> 6.7 Turning Beans into XML Documents </td></tr></table><table width="100%"><tr><td> 6.8 Customizing XML Generated from an Object </td></tr></table><table width="100%"><tr><td> 6.9 Turning XML Documents into Beans </td></tr></table><table width="100%"><tr><td> 7. Application Infrastructure </td></tr></table><table width="100%"><tr><td> 7.1 Obtaining Commons CLI </td></tr></table><table width="100%"><tr><td> 7.2 Parsing a Simple Command Line </td></tr></table><table width="100%"><tr><td> 7.3 Parsing a Complex Command Line </td></tr></table><table width="100%"><tr><td> 7.4 Printing Usage Information </td></tr></table><table width="100%"><tr><td> 7.5 Obtaining Commons Configuration </td></tr></table><table width="100%"><tr><td> 7.6 Configuring Applications with Properties Files </td></tr></table><table width="100%"><tr><td> 7.7 Configuring Applications with XML </td></tr></table><table width="100%"><tr><td> 7.8 Using Composite Configuration </td></tr></table><table width="100%"><tr><td> 7.9 Obtaining Commons Logging </td></tr></table><table width="100%"><tr><td> 7.10 Using an Abstract Logging Interface </td></tr></table><table width="100%"><tr><td> 7.11 Specifying a Logging Implementation </td></tr></table><table width="100%"><tr><td> 7.12 Obtaining Apache Log4J </td></tr></table><table width="100%"><tr><td> 7.13 Configuring Log4J with a Properties File </td></tr></table><table width="100%"><tr><td> 7.14 Configuring Log4J with XML </td></tr></table><table width="100%"><tr><td> 8. Math </td></tr></table><table width="100%"><tr><td> 8.1 Using Fractions </td></tr></table><table width="100%"><tr><td> 8.2 Finding the Maximum and Minimum in an Array </td></tr></table><table width="100%"><tr><td> 8.3 Using Number Ranges </td></tr></table><table width="100%"><tr><td> 8.4 Generating Random Variables </td></tr></table><table width="100%"><tr><td> 8.5 Obtaining Commons Math </td></tr></table><table width="100%"><tr><td> 8.6 Calculating Simple Univariate Statistics </td></tr></table><table width="100%"><tr><td> 8.7 Solving a System of Linear Equations </td></tr></table><table width="100%"><tr><td> 8.8 Arithmetic with Complex Numbers </td></tr></table><table width="100%"><tr><td> 8.9 Establishing Relationships Between Variables </td></tr></table><table width="100%"><tr><td> 8.10 Estimating the Amount of Time Left in a Process </td></tr></table><table width="100%"><tr><td> 9. Templating </td></tr></table><table width="100%"><tr><td> 9.1 Obtaining Commons JEXL </td></tr></table><table width="100%"><tr><td> 9.2 Using an Expression Language </td></tr></table><table width="100%"><tr><td> 9.3 Invoking Methods in an Expression </td></tr></table><table width="100%"><tr><td> 9.4 Externalizing Logic with an Expression Language </td></tr></table><table width="100%"><tr><td> 9.5 Obtaining Jakarta Velocity </td></tr></table><table width="100%"><tr><td> 9.6 Using a Simple Templating Language </td></tr></table><table width="100%"><tr><td> 9.7 Writing Templates with Conditionals and Loops </td></tr></table><table width="100%"><tr><td> 9.8 Using Macros in a Templating Engine </td></tr></table><table width="100%"><tr><td> 9.9 Invoking Methods in a Template </td></tr></table><table width="100%"><tr><td> 9.10 Obtaining FreeMarker </td></tr></table><table width="100%"><tr><td> 9.11 Using a Complex Scripting Engine </td></tr></table><table width="100%"><tr><td> 9.12 Accessing XML Documents from a Templating Engine </td></tr></table><table width="100%"><tr><td> 9.13 Using Velocity in a Web Application </td></tr></table><table width="100%"><tr><td> 9.14 Using FreeMarker in a Web Application </td></tr></table><table width="100%"><tr><td> 9.15 Writing Templates in Eclipse </td></tr></table><table width="100%"><tr><td> 10. I/O and Networking </td></tr></table><table width="100%"><tr><td> 10.1 Obtaining Commons IO </td></tr></table><table width="100%"><tr><td> 10.2 Copying Streams,byte [],Readers,and Writers </td></tr></table><table width="100%"><tr><td> 10.3 Closing Streams,Readers,and Writers </td></tr></table><table width="100%"><tr><td> 10.4 Printing a Human-Readable File Size </td></tr></table><table width="100%"><tr><td> 10.5 Copying Files,Strings,and URLs </td></tr></table><table width="100%"><tr><td> 10.6 Deleting Directories Recursively </td></tr></table><table width="100%"><tr><td> 10.7 Obtaining the Size of a Directory </td></tr></table><table width="100%"><tr><td> 10.8 Touching a File </td></tr></table><table width="100%"><tr><td> 10.9 Filtering Files </td></tr></table><table width="100%"><tr><td> 10.10 Measuring Stream Traffic </td></tr></table><table width="100%"><tr><td> 10.11 Splitting an OutputStream </td></tr></table><table width="100%"><tr><td> 10.12 Obtaining Jakarta ORO </td></tr></table><table width="100%"><tr><td> 10.13 Using Globs and Perl5 Regular Expressions to List Files </td></tr></table><table width="100%"><tr><td> 10.14 Obtaining Commons Net </td></tr></table><table width="100%"><tr><td> 10.15 Writing an FTP Client </td></tr></table><table width="100%"><tr><td> 10.16 Sending Mail with SMTP </td></tr></table><table width="100%"><tr><td> 10.17 Checking a POP3 Mailbox </td></tr></table><table width="100%"><tr><td> 11. HTTP and WebDAV </td></tr></table><table width="100%"><tr><td> 11.1 Obtaining Jakarta HttpClient </td></tr></table><table width="100%"><tr><td> 11.2 Getting Jakarta HttpClient Source Code </td></tr></table><table width="100%"><tr><td> 11.3 Performing an HTTP GET </td></tr></table><table width="100%"><tr><td> 11.4 Sending Parameters in a Query String </td></tr></table><table width="100%"><tr><td> 11.5 Retrieving Content with a Conditional GET </td></tr></table><table width="100%"><tr><td> 11.6 Debugging HTTP Communications </td></tr></table><table width="100%"><tr><td> 11.7 Making an HTTP POST Request </td></tr></table><table width="100%"><tr><td> 11.8 Sending POST Data from a File </td></tr></table><table width="100%"><tr><td> 11.9 Uploading Files with a Multipart POST </td></tr></table><table width="100%"><tr><td> 11.10 Basic Authentication </td></tr></table><table width="100%"><tr><td> 11.11 NTLM Authentication </td></tr></table><table width="100%"><tr><td> 11.12 Working with Cookies </td></tr></table><table width="100%"><tr><td> 11.13 Handling Redirects </td></tr></table><table width="100%"><tr><td> 11.14 SSL </td></tr></table><table width="100%"><tr><td> 11.15 Accepting a Self-Signed Certificate </td></tr></table><table width="100%"><tr><td> 11.16 Obtaining Jakarta Slide </td></tr></table><table width="100%"><tr><td> 11.17 Connecting to WebDAV Resources </td></tr></table><table width="100%"><tr><td> 11.18 Modifying a WebDAV Resource </td></tr></table><table width="100%"><tr><td> 12. Searching and Filtering </td></tr></table><table width="100%"><tr><td> 12.1 Obtaining Commons JXPath </td></tr></table><table width="100%"><tr><td> 12.2 Querying an Object Graph with XPath </td></tr></table><table width="100%"><tr><td> 12.3 Search a Collection of Simple Objects </td></tr></table><table width="100%"><tr><td> 12.4 Applying XPath Queries to Complex Object Graphs </td></tr></table><table width="100%"><tr><td> 12.5 Obtaining Jakarta Lucene </td></tr></table><table width="100%"><tr><td> 12.6 Creating an Index of XML Documents </td></tr></table><table width="100%"><tr><td> 12.7 Searching for a Specific Term in a Document Index </td></tr></table><table width="100%"><tr><td> 12.8 Finding the Frequency of Terms in an Index </td></tr></table><table width="100%"><tr><td> Index </td></tr></table></font>
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#CC0000"> <td height="1"></td> </tr> <tr> <td height="5"></td> </tr> <tr> <td> ·<a href='javascript:moreup("Catalog.asp?IDD=25522&type=1")'>目录</a>·<a href='javascript:moreup("Catalog.asp?IDD=25522&type=2")'>内容简介</a>·<a href='javascript:moreup("Catalog.asp?IDD=25522&type=6")'>前言</a> </td> </tr></table></BODY></H