Advanced Programming for the Java 2 Platform
Calvin Austin, Monica Pawlan · Medical Entomology and Zoology · 2000
Preface. Chapter 1 Matching Project Requirements with Technology. Project Requirements. Interview User Base. Auction House Requirements. User Requirements. Model the Project. Activity Diagram. Choosing the Software. Dukes Auction Demonstration. Home Page. Registration Page. New Auction Items Today. Items Closing Today. All Items. Search for Items. Sell Item. Chapter 2 Auction House Application. A Multitiered Application with Enterprise Beans. Thin-Client Programs and Multitiered Architecture. Entity and Session Bean Differences. Auction House Workings. Developing and Running Applications. How Multitiered Applications Work. How Enterprise Beans Are Used in the Example. AuctionServlet. Entity Bean Classes. AuctionItem Entity Bean. Auction Items Table. Registration Entity Bean. Registration Table. Session Bean Classes. Bidder Session Bean. Seller Session Bean. Container Classes. Examining a Container-Managed Bean. Member Variables. Create Method. Entity Context Methods. Load Method. Store Method. Connection Pooling. Deployment Descriptor. XML Deployment Descriptor. Container-Managed Finder Methods. Finder-Based Search. AuctionServlet.searchItems. BidderBean.getMatchingItemsList. AuctionItemHome.findAllMatchingItems. AuctionItemBean Deployment Descriptor. Chapter 3 Data and Transaction Management. Bean-Managed Persistence and the JDBC Platform Connect to Database. Create Method. Load Method. Refresh Method. Store Method. Find Method. Managing Transactions. Why Manage Transactions? Session Synchronization. Container-Managed Example. Session Synchronization Code. Transaction Commit Mode. Bean-Managed Finder Methods. AuctionServlet.searchItems. SearchBean. Database Connection. Get Matching Items List. Create Method. Chapter 4 Distributed Computing Lookup Services. Java Naming and Directory Interface. CORBA Naming Service. Interoperable Object References. Remote Method Invocation. RMI over Internet Inter-ORB Protocol. Improving Lookup Performance. Remote Method Invocation. About RMI. RMI in the Auction Application. Establishing Remote Communications. RegistrationServer Class. Registration Interface. RegistrationHome Interface. ReturnResults Interface. SellerBean Class. Common Object Request Broker Architecture. IDL Mapping Scheme. Quick Reference. Other IDL Keywords and Types. CORBA in the Auction Application. Object Request Broker. Helper and Holder Classes. Garbage Collection. CORBA Callbacks. Using the Any Type. In Conclusion. JDBC Technology. JDBC Drivers. Database Connections. Statements. Caching Database Results. Result Sets. Scrolling Result Sets. Controlling Transactions. Escaping Characters. Mapping Database Types. Mapping Date Types. Servlets. HttpServlet. The init Method. The destroy Method. The service Method. HTTP Requests. Using Cookies in Servlets. HTTP Error Codes. Reading GET and POST Values. Threading. HTTPS. Chapter 5 JNI Technology. JNI Example. About the Example. Generate the Header File. Method Signature. Implement the native Method. Compile the Dynamic or Shared Object Library. Run the Example. Strings and Arrays. Passing Strings. Passing Arrays. Pinning Array. Object Arrays. Multidimensional Arrays. Other Programming Issues. Language Issues. Calling Methods. Accessing Fields. Threads and Synchronization. Memory Issues. Invocation. Attaching Threads. Chapter 6 Project Swing: Building a User Interface. Components and Data Models. Lightweight Components. Ordering Components. Specialized Event Handling. Project Swing Directions. Printing API. What Is in the Package? Printing an AWT Component. Printing a Project Swing Component. Printing Graphics in Project Swing. Print Dialog. Page Setup Dialog. Printing a Collection of Pages. Advanced Printing. Multiple Components per Page. Components Larger Than One Page. Printing a JTable Component. Print a Sales Report. Chapter 7 Debugging Applets, Applications, and Servlets. In a Rush? Collecting Evidence. Installation and Environment. Class Path. Class Loading. Including Debug Code. Turning Debug Information on at Run Time. Creating Debug and Production Releases at Run Time. Using Diagnostic Methods. Adding Debug Information. Running Tests and Analyzing. Getting Behind the Seat with jdb. Simple jdb Test Drive. Remote Debugging. Using Auto-Pilot. Creating a Session Log. Servlet Debugging. Running servletrunner in Debug Mode. Running Java Web Server in Debug Mode. Abstract Window Toolkit Debugging. Using AWTEventListener. Analyzing Stack Traces. Sending a Signal to the Java VM. The Java VM Generates a Stack Trace. Core Files. Using Debugging Tools or API Calls. Which Release Generated the Stack Trace? Which Platform Generated the Stack Trace? Which Thread Package Was Used? What are the Thread States? Examining Monitors. Putting the Steps Into Practice. Experts Checklist. Stack Trace Examples. Stack Trace 1. Stack Trace 2. Version Issues. JDK 1.0.2. JDK 1.1. Java 2 Platform. Internet Explorer. Chapter 8 Performance Techniques. Improving Applet Download Speed. Packaging Images into One Class. Using JAR Files. Thread Pooling. Connection Pooling. Wrapper Classes. Deadlocks and Hangs. Closing Connections. Example Application. Performance Features and Tools. Java Virtual Machine Features. Just-In-Time Compilers. Third-Party Tools. Performance Analysis. Profiling. Analyze a Program. Operating System Performance Tools. Caching Client/Server Applications. Caching One Object. Caching Many Objects. Chapter 9 Deploying the Auction Application. JAR File Format. Bundle and Deploy the HTML Files. Bundle and Deploy the Enterprise Beans. Bundle and Deploy the Applet Program. Deploy to Solaris Operating System. Get Downloads. Extract Downloaded Files. Install Java Plug-In. Install Java Plug-In Patches. Install Netscape Communicator. Check the Installation. Install the HTML Converter. Security Policy File. Run the Administration Applet. Deploy to Win32 Platform. Get Downloads. Install JRE with Java Plug-In. Install the HTML Converter. Security Policy File. Run the Administration Applet. How Does It Work? Chapter 10 Signed Applets and Security Managers. Signed Applets. Signed Applet Example. SignedAppletDemo. Policy File. HTML file. How It Works. Intranet Developer. End User. Running an Application with a Policy File. Signed Applets in JDK 1.1. Writing a Security Manager. The FileIO Program. The PasswordSecurityManager Class. Reference Information. Appendix A: Security and Permissions. Overview. Knowing Which Permissions. AllPermission. AWTPermission. FilePermission. NetPermission. PropertyPermission. ReflectPermission. RuntimePermission. SecurityPermission. SerializablePermission. AHEADS = SocketPermission. Appendix B: Classes, Methods, and Permissions. java.awt.Graphics2D. java.awt.Toolkit. java.awt.Window. java.beans.Beans. java.beans.Introspector. java.beans.PropertyEditorManager. java.io.File. java.io.FileInputStream. java.io.FileOutputStream. java.io.ObjectInputStream. java.io.ObjectOutputStream. java.io.RandomAccessFile. java.lang.Class. java.lang.ClassLoader. java.lang.Runtime. java.lang.SecurityManager. java.lang.System. java.lang.Thread. java.lang.ThreadGroup. java.lang.reflect.AccessibleObject. java.net.Authenticator. java.net.DatagramSocket. java.net.HttpURLConnection. java.net.InetAddress. java.net.MulticastSocket. java.net.ServerSocket. java.net.Socket. java.net.URL. java.net.URLConnection. java.net.URLClassLoader. java.rmi.activation.ActivationGroup. java.rmi.server.RMISocketFactory. java.security.Identity. java.security.IdentityScope . java.security.Permission. java.security.Policy. java.security.Provider. java.security.SecureClassLoader. java.security.Security. java.security.Signer. java.util.Locale. java.util.zip.ZipFile. Appendix C: Security Manager Methods. Appendix D: API Reference. ActionListener Interface. WindowListener Interface. Graphics Class. Graphics2D class. Book Class. PageFormat Class. Printable Interface. PrinterJob Class. Toolkit Class. ByteArrayOutputStream Class. DataOutputStream Class. Double Class. SecurityManager Class. System Class. Naming Class. RMISocketFactory Class. CallableStatement Interface. Connection Interface. DatabaseMetaData Interface. DriverManager Class. PreparedStatement Interface. ResultSet Interface. Statement Interface. ArrayList Class. Calendar Class. Date Class. Enumeration Interface. HashMap Class. Iterator Interface. LinkedList Class . List Class. EntityBean Interface. SessionBean Interface. UserTransaction Interface. RemoteObject Class. Cookie Class. HttpServlet Class. HttpServletRequest Interface. HttpServletResponse Interface. ServletConfig Interface. ServletRequest Interface. ServletResponse Interface. Box Class. DefaultCellEditor Class. JButton Class. JComponent Class. JFrame Class. JLabel Class. JScrollPane Class. JTable Class. JTree Class. JViewPort Class. ListSelectionModel Interface. SwingUtilities Class. DefaultTableCellRenderer Class. DefaultTableModel Class. TableColumn Class. TableColumnModel Interface. DefaultMutableTreeNode Class. TreePath Class. Any Class. IntHolder Class. ORB Class. NameComponent Class. NamingContext Interface. JNI C methods.