Home > Store

Special Edition Using Java 2, Enterprise Edition

Register your product to gain access to bonus material or receive a coupon.

Special Edition Using Java 2, Enterprise Edition

Premium Website

  • Sorry, this book is no longer in print.
Not for Sale



Question 1: What about the license for BEA WebLogic? I get a message that the server cannot be started because the license has expired.

Solution 1: To obtain a license key that will activate the WebLogic Server 5.0.1 demo, please go to http://www.bea.com/eval/usej2ee/


  • Copyright 2001
  • Edition: 1st
  • Premium Website
  • ISBN-10: 0-7897-2503-7
  • ISBN-13: 978-0-7897-2503-5

Java 2 Enterprise Edition is a combination of Java-related technologies including Java Server Pages, Servlets, and Enterprise Java Beans. Working together these “pieces” make Java a viable solution for enterprise-scale applications. "SE Using J2EE" starts with a section covering the core J2EE components and how they fit into the overall application architecture. The book then builds off this foundation to explore the practical applications of J2EE including incorporating XML into J2EE, creating wireless Web applications, network programming with J2EE, managing security and encryption, object programming with Serialization and Reflection, and programming Java applets in the enterprise. Later chapters discuss alternative approaches to solving problems in J2EE applications including debugging, decompiling and disassembly. The book finishes with a useful reference section discussing each of the core J2EE APIs.

Sample Content

Online Sample Chapters

Creating a Session Bean

JMS and the Importance of Messaging

JNDI—Java Naming and Directory Interface

Table of Contents


Who Should Buy This Book. How This Book Is Organized. Conventions Used in This Book.


1. Application Architecture Concepts.

The Three Layers of an Application. Single-Tiered Applications. Two-Tiered Applications. Three-Tiered Applications. The Trade-Offs The “ilities”. Hybrid Architectures. Case Study: An Online Ordering System.

2. A Quick Primer on SQL.

Introduction to Relational Databases. Relationships. The Structured Query Language (SQL) Auto-Generated Keys. Troubleshooting.

3. JDBC—The Java Database API.

What Is JDBC? JDBC Core Components. A Simple Database Query Program. Inserting, Updating, and Deleting Data. Updating Data from a Result Set. The JDBC Optional Package. Troubleshooting.

4. Remote Method Invocatione.

What Is RMI? Creating an RMI Server Object. Creating an RMI Client. Remote Method Parameters. Using the RMI Registry. Implementing a Remote Object Factory. Performing Callbacks. Remote Activation. Troubleshooting.

5. Overview of Enterprise JavaBeans.

The Need for EJB. Containers, Components, and Connectors. Enterprise JavaBeans Session Beans. Entity Beans. Transactions. Core Technologies. Case Study.

6. Creating a Session Bean.

What Does a Session Bean Do? A “Hello World” Session Bean Creating a Stateless Session Bean. More Details About Session Beans. Creating a Session Bean That Does Some Work. Troubleshooting.

7. Creating an Entity Bean.

What Is an Entity Bean? How an Entity Bean Interacts with the Database. Creating an Entity Bean with Bean-Managed Persistence. More Details About Entity Beans. Using an Entity Bean from a Session Bean. Passing References from One Entity Bean to Another. Troubleshooting.

8. Using Container-Managed Persistence. Why Use Container-Managed Persistence (CMP)? Creating a CMP Entity Bean Under EJB 1.1. Creating a CMP Entity Bean Under EJB 2.0. Troubleshooting.
9. EJB Transactions.

Why Transactions Are Important? The ACID Test. Who Starts and Ends a Transaction? Using Container-Managed Transactions. Using the SessionSynchronization Interface. Using the Java Transaction API (JTA) for Bean-Managed Transactions. Troubleshooting.

10. Mapping Objects to a Relational Database.

Relational Models Versus Object Models. Performance Issues. Using an Object Database. Using the TopLink Object-to-Relational Mapper. Troubleshooting.

11. Debugging an EJB.

Why Debugging Is Tough. Using Log Files to Debug an Application. Using Debugger. Debugging an Enterprise JavaBean. Troubleshooting.

12. EJB Design.

Client Access to Enterprise JavaBeans. Session Beans Versus Entity Beans. Creating View Objects. Improving EJB Performance. Case Study.


13. Servlets.

What Is a Servlet? A “Hello World” Servlet. The Anatomy of a Servlet. The HttpServlet Class. Troubleshooting.

14. Java Server Pages.

A “Hello World” Java Server Page. Using the % % Tags in a Java Server Page. Displaying a Value with %= %;. Inserting Comments. Declaring Methods and Variables with %! %. Handling Multiple Threads in a JSP. Choosing Between Servlets and Java Server Pages. Troubleshooting.

15. Common JSP Tasks.

A Simple HTML Form. Using the request Object. Retrieving Form Variables in a Servlet. Storing Data in a session Object. How Sessions Work. Forcing a New Session. Handling Session Termination. Handling Sessions Without Cookies. Troubleshooting.

16. Extending JSP with New Tags.

Including Other Files. Forwarding to Another Page. The jsp:useBean Tag. Custom Tag Extensions. A “Hello World” Tag. Packaging and Installing a Tag. Conditional Includes Using Custom Tags. Accessing Tag Attributes. Processing Body Content with a Custom Tag. Adding Scripting Variables. Troubleshooting.


17. CORBA.

What Is CORBA? The Interface Definition Language (IDL). Creating a CORBA Server. Creating a CORBA Client. Attributes. More About IDL. Factories. Callbacks. Object References. Dynamic Invocation. Using CORBA and RMI Together. CORBA Application Architecture. Additional CORBA Services. Troubleshooting.

18. JNDI—Java Naming and Directory Interface.

A Centralized Directory. JNDI Basics. Directory Operations. Using LDAP with JNDI. LDAP Classes and Attributes. Troubleshooting.

19. JMS—The Java Message Service.

The Importance of Messaging. Types of Messaging. The Java Message Service (JMS). More About Messages. Message-Driven Beans. Troubleshooting.

20. Connecting to Existing Systems.

Types of External System Connections. Socket Connections to Existing Systems. Sending Messages to Existing Systems. Using Custom Access Libraries. Using the J2EE Connector API. Case Study.

21. Packaging and Installing a J2EE Application. Using an Automated EJB Packaging Tool. How Enterprise JavaBeans Are Packaged. EJB Deployment Descriptor Options. Packaging Java Server Pages and Servlets. WAR Configuration Options. Application Deployment. EAR Descriptor Options. Troubleshooting.


22. XML—The Extensible Markup Language.

What XML Is and Isn't. Why XML Is Important in J2EE. Basic XML Syntax. Creating a Document Type Definition (DTD). Other XML Specifications. Java Meets XML. Creating XML Documents with Java. Parsing an XML Document with Java. Troubleshooting.

23. Using XSL to Translate XML Documents.

What Is XSL?. A Simple XSL Style Sheet. Using a Standalone XSL Processor. Applying XSL Templates on the Browser. Applying XSL Templates from a Servlet. Navigating an XML Document with XPath. JSP or Style Sheets?. Troubleshooting.

24. Using Java-XML Tools.

The Need for Additional Tools. The Example XML and Java Bean Files. Using KBML to Serialize and Deserialize Java Beans. Using JOX to Read and Write Objects in XML. Using Quick to Read and Write Objects in XML. Troubleshooting.

25. Remote Method Calls with XML-SOAP.

What Is SOAP? Using SOAP with Java. Using SOAP with Enterprise Java Beans. Sending SOAP Requests via Email. Troubleshooting.


26. Networks and Network Protocols.

The Importance of Understanding the Network. The Internet Protocol. Domain Name Service (DNS). Firewalls.

27. Network Programming.

Socket Programming. Using Datagram Sockets. Choosing Between TCP and UDP. Troubleshooting.

28. Overview of Internet Protocols.

Who Defines Internet Protocols. Where to Find Internet Standards. Basic Features of Internet Protocols. Some Common Internet Protocols. An In-Depth Look at the File Transfer Protocol. Case Study.

29. The HTTP Protocol.

The HTTP Protocol. Common Request Headers. Common Response Headers. The HTTP POST Command. GET Versus POST. HTTPS—Secure HTTP. Case Study.

30. SMTP, POP3, and IMAP4—The E-mail Protocols.

The Simple Mail Transport Protocol. The Post Office Protocol, Version. The Internet Message Access Protocol. The Java Mail API. Troubleshooting.

31. Proxies and Relays.

Connections Are Everywhere. Using a Relay to Trace Data. Relaying Datagrams. Creating a Custom Socket. Case Study.


32. Introduction to Encryption Techniques.

What Is Encryption? Encryption Terminology. Choosing the Right Kind of Encryption. Guarding Against Malicious Attacks. Digital Signatures. Digital Certificates. Case Study.

33. Encrypting Data.

The Java Cryptography Extension. Generating an Encryption Key. Encrypting Data. Decrypting Data. Encrypting Objects. A Quick and Dirty Public Key Implementation. Accessing the Keystore. Exchanging Keys. Troubleshooting.

34. Digitally Signing Data.

How Digital Signatures Work. A Simple Digital Signature Algorithm. Digitally Signing Data. Troubleshooting.

35. Using the Secure Socket Layer (SSL). How the Secure Socket Layer Works. Managing Keys and Certificates. Creating an SSL Server Program. Creating an SSL Client Program. Communicating with a Web Browser. An SSL Relay Program. Accessing Web Servers with SSL. Using SSL with RMI. Troubleshooting.
36. Java Security Features.

The Advantages of Built-In Security. The Java Security Framework. Signing a JAR File. Troubleshooting.

37. J2EE Security.

Role-Based Security. Basic Authentication. Creating a Custom Login Form. Checking Security Roles Programmatically. Using Client Certificates for Authentication. Troubleshooting.


38. Serialization.

The Many Uses of Serialization. Customizing Serialization. Dealing with Multiple Versions. Troubleshooting.

39. Reflection.

What Is Reflection? Examining Objects at Runtime. Suppressing Access Restrictions. Creating Dynamic Proxies. Improving Reflection Performance. Troubleshooting.

40. Dynamic Class Loading.

Loading Classes at Runtime. Designing Servers to Use Dynamic Class Loading. Troubleshooting.

41. Introspection.

How Introspection Works. Using Introspection in an Application. Choosing Between Introspection and Reflection. Troubleshooting.

42. The Model-View-Controller Paradigm.

What Is Model-View-Controller? Using Reflection to Implement MVC. Using MVC in a Web Application. Calling Multiple Controllers and Views. Case Study.

43. Code Generation.

Generating Code Automatically. Using XML to Describe Objects. Dealing with Changes. To Generate or Not to Generate. Case Study.


44. Applet Development.

Why and When to Use Applets. Creating an Applet. Applet Security Restrictions. Accessing Files and Data from an Applet. Improving Applet Downloads. Running Applets in a Standalone Application. Using the Java Plug-In. Troubleshooting.

45. Code Signing.

Why You Should Digitally Sign Code. Signing Code for the Java Plug-In. Signing Code for Internet Explorer. Signing Code for Netscape Navigator. Troubleshooting.

46. Using Enterprise JavaBeans from an Applet.

When Applets Make Sense in an EJB Application. Creating an Applet That Accesses an EJB. Getting to the Classes You Need. Troubleshooting.

47. Web Start—An Alternative to Applets.

What Is Web Start? Creating a Web Start Application. File Access and Other Useful Features. Troubleshooting.


48. Narrowing Down the Problem.

The Art of Debugging. Debugging Techniques. Narrowing Down the Problem. Troubleshooting.

49. Decompiling and Patching.

Decompiling a Java Class. Disassembling a Java Class. Patching a Java Library. Troubleshooting.


50. A J2EE Web Application.

Designing a Web-Based EJB Application. Creating the Entity Beans. Creating the Session Bean. Creating the Web Interface. Deploying the Application. Troubleshooting.

51. Using XML for Data Exchange.

Why XML Is Good for Data Exchange. Parsing XML with SAX and DOM. Troubleshooting.

52. Internationalization.

Detecting the Browser's Preferred Locale. Using Locale-Based Text Formatters. Using Resource Bundles. Troubleshooting.

53. Creating a Wireless Web Application.

A Wireless “Hello World” Page.

Brief Introduction to WML. Detecting Wireless Clients in a JSP or Servlet. A Wireless Score Entry and Reporting System. Troubleshooting.

54. Creating a Business-to-Business Application.

What Does Business-to-Business Mean? Using Different Methods of Communication Data Formatting Issues. Creating a B2B Application.



Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership