| |
| |
Introduction | |
| |
| |
| |
Introduction | |
| |
| |
| |
Introduction to Oracle Java Technologies | |
| |
| |
Database Access in Java | |
| |
| |
Java Stored Procedures--PL/SQL Calling Java | |
| |
| |
JDBC--Java Calling SQL and PL/SQL | |
| |
| |
SQLJ--Java Calling SQL and PL/SQL | |
| |
| |
Building Reusable Java Components | |
| |
| |
JavaBeans | |
| |
| |
Enterprise JavaBeans | |
| |
| |
Business Components for Java | |
| |
| |
Employing Java in a Web Environment | |
| |
| |
Java Servlets | |
| |
| |
Java Server Pages | |
| |
| |
Summary | |
| |
| |
| |
Database Access in Java | |
| |
| |
| |
Java Stored Procedures | |
| |
| |
Overview of Java Stored Procedures--PL/SQL Calling Java | |
| |
| |
Advantages of Java Stored Procedures | |
| |
| |
Comparison of PL/SQL Stored Procedures and Java Stored Procedures | |
| |
| |
Developing Java Stored Procedures--An Overview and Case Study | |
| |
| |
Case Study | |
| |
| |
Writing the Java Method | |
| |
| |
Loading the Java Method into the RDBMS and Resolving External References | |
| |
| |
Publishing the Java Method into the RDBMS | |
| |
| |
Calling the Java Stored Procedure from SQL or PLSQL | |
| |
| |
Loading the Java Method into the Oracle 8i Database | |
| |
| |
Using loadjava | |
| |
| |
Resolving External References | |
| |
| |
The Manner in Which Files Are Loaded | |
| |
| |
How Compilation Is Done? | |
| |
| |
Dropping the Java Method | |
| |
| |
Creating the Java Stored Procedure and Publishing It | |
| |
| |
Defining Call Specifications--Basics | |
| |
| |
Defining Top-level Call Specs | |
| |
| |
Defining Call Specs as Part of a Package | |
| |
| |
Defining Call Specs as a Member Method of a SQL Object Type | |
| |
| |
Granting Access Privileges | |
| |
| |
Calling the Java Stored Procedure | |
| |
| |
Calling from the Top Level | |
| |
| |
Calling from Database Triggers | |
| |
| |
Calling from SQL DML | |
| |
| |
Calling from PL/SQL | |
| |
| |
Summary | |
| |
| |
| |
Basic JDBC Programming | |
| |
| |
Overview of JDBC--Java Calling SQL and PL/SQL | |
| |
| |
About JDBC | |
| |
| |
Oracle JDBC Drivers | |
| |
| |
JDBC 2.0 Support | |
| |
| |
Case Study | |
| |
| |
Fundamental Steps in JDBC | |
| |
| |
Import JDBC Packages | |
| |
| |
Load and Register the JDBC Driver | |
| |
| |
Connecting to a Database | |
| |
| |
Querying the Database | |
| |
| |
Processing the Results of a Database Query That Returns Multiple Rows | |
| |
| |
Closing the ResultSet and Statement | |
| |
| |
Closing the Connection | |
| |
| |
Processing the Results of a Database Query That Returns a Single Row | |
| |
| |
Datatype Mappings | |
| |
| |
Exception Handling in JDBC | |
| |
| |
INSERT, UPDATE, and DELETE Operations Using JDBC | |
| |
| |
Prepared Statements | |
| |
| |
Callable Statements | |
| |
| |
Using Transactions | |
| |
| |
Committing | |
| |
| |
Oracle JDBC Extensions | |
| |
| |
Features of Oracle Extensions | |
| |
| |
Oracle JDBC Packages and Classes | |
| |
| |
Oracle Type Extensions | |
| |
| |
Calling Stored Procedures in JDBC Programs | |
| |
| |
Calling PL/SQL Stored Procedures | |
| |
| |
Calling Java Stored Procedures | |
| |
| |
Handling Resultsets in JDBC | |
| |
| |
Returning Resultsets | |
| |
| |
Scrollable Resultsets | |
| |
| |
Updateable Resultsets | |
| |
| |
Metadata | |
| |
| |
Summary | |
| |
| |
| |
Advanced JDBC Programming | |
| |
| |
Overview | |
| |
| |
Case Study | |
| |
| |
Handling Object Types in JDBC | |
| |
| |
Using JDBC STRUCT Type Handle Oracle Object Types | |
| |
| |
Using Custom Object Classes to Handle Oracle Object Types | |
| |
| |
Handling Object REFS in JDBC | |
| |
| |
Using JDBC REF Type to Handle Object REFS | |
| |
| |
Handling Collections in JDBC | |
| |
| |
Using JDBC ARRAY Type to Handle Collections | |
| |
| |
Handling Large Objects in JDBC | |
| |
| |
Using BLOBS | |
| |
| |
Using CLOBS | |
| |
| |
Using BFILES | |
| |
| |
JDBC Performance Extensions | |
| |
| |
Disabling Auto-Commit Mode | |
| |
| |
Oracle Row Prefetching | |
| |
| |
Update Batching | |
| |
| |
Using Prepared Statements and Bind Variables | |
| |
| |
JDBC in the Server | |
| |
| |
Summary | |
| |
| |
| |
Basic SQLJ Programming | |
| |
| |
Overview of SQLJ--Java Calling SQL and PL/SQL | |
| |
| |
About SQLJ | |
| |
| |
Advantages of Using SQLJ | |
| |
| |
Comparison of SQLJ and JDBC | |
| |
| |
Comparison of Java and PL/SQL | |
| |
| |
SQLJ Declarations | |
| |
| |
SQLJ Expressions | |
| |
| |
Case Study | |
| |
| |
Connecting to a Database | |
| |
| |
Establishing a Connection | |
| |
| |
Setting the Default Connection Context | |
| |
| |
SQLJ Query Processing | |
| |
| |
Writing a Query in SQLJ | |
| |
| |
Executing a Query | |
| |
| |
Processing the Results--Single-Row Query | |
| |
| |
Processing the Results--Multi-Row Query | |
| |
| |
Exception Handling in SQLJ | |
| |
| |
INSERT, UPDATE, DELETE, and COMMIT Operations in SQLJ | |
| |
| |
INSERT, UPDATE, DELETE Operations | |
| |
| |
Transaction Control | |
| |
| |
Handling Types and Large Objects in SQLJ | |
| |
| |
Handling Types | |
| |
| |
Oracle.sql Package | |
| |
| |
Oracle SQLJ Type Extensions | |
| |
| |
Summary | |
| |
| |
| |
Advanced SQLJ Programming | |
| |
| |
Overview | |
| |
| |
Case Study | |
| |
| |
Handling Large Objects | |
| |
| |
Using BLOBS | |
| |
| |
Using BFILES | |
| |
| |
Handling Objects and Collections in SQLJ | |
| |
| |
Handling Objects | |
| |
| |
Handling Collections | |
| |
| |
SQLJ Performance Extensions | |
| |
| |
Disabling Auto-Commit Mode | |
| |
| |
Oracle Row Prefetching | |
| |
| |
Update Batching | |
| |
| |
Oracle Optimizer | |
| |
| |
SQLJ in the Server | |
| |
| |
Summary | |
| |
| |
| |
Building Reusable Java Components | |
| |
| |
| |
Using JavaBeans | |
| |
| |
Overview of JavaBeans | |
| |
| |
JavaBean Naming Conventions | |
| |
| |
Adding Properties to the JavaBean | |
| |
| |
Adding Events to the JavaBean | |
| |
| |
Steps to Create a JavaBean | |
| |
| |
Writing the JavaBean Class | |
| |
| |
Set Properties for JavaBeans | |
| |
| |
Define Methods | |
| |
| |
Register Events | |
| |
| |
The BeanInfo Class | |
| |
| |
Generating the BeanInfo Class | |
| |
| |
Summary | |
| |
| |
| |
Using Enterprise JavaBeans | |
| |
| |
Overview of EJBs | |
| |
| |
Types of EJBs | |
| |
| |
Entity Beans | |
| |
| |
Session Beans | |
| |
| |
EJB Architecture and Concepts | |
| |
| |
EJB Architecture | |
| |
| |
Differences Between EJBs and JavaBeans | |
| |
| |
Advantages of EJBs | |
| |
| |
Summary | |
| |
| |
| |
Developing and Deploying Enterprise JavaBeans | |
| |
| |
Overview | |
| |
| |
Developing EJBs | |
| |
| |
Implementing an EJB | |
| |
| |
The Remote Interface | |
| |
| |
The Home Interface | |
| |
| |
The Actual Bean Class | |
| |
| |
The Deployment Descriptor | |
| |
| |
Deploying the EJB Class to the EJB Server | |
| |
| |
The Client Application--A Java Applet or a JNDI Application | |
| |
| |
Parameter Passing | |
| |
| |
Using JDBC and SQLJ in an EJB Component | |
| |
| |
Handling Transactions | |
| |
| |
Bean-Managed Demarcation on the Server Side | |
| |
| |
Client-side Demarcation | |
| |
| |
EJB Tools | |
| |
| |
deployejb | |
| |
| |
ejbdescriptor | |
| |
| |
Summary | |
| |
| |
| |
Using Business Components for Java (BC4J)--Introduction and Development | |
| |
| |
Overview of BC4J | |
| |
| |
About BC4J | |
| |
| |
Advantages of BC4J | |
| |
| |
Differences Between BC4J and EJB | |
| |
| |
Creating a BC4J Application--An Overview | |
| |
| |
BC4J Components | |
| |
| |
BC4J and XML | |
| |
| |
About XML and Advantages of Using XML | |
| |
| |
How XML Fits into BC4J? | |
| |
| |
XML Syntax and Document Type Definition | |
| |
| |
XSL and DOM | |
| |
| |
Parsing XML | |
| |
| |
Developing a BC4J Application | |
| |
| |
Creating the Database Schema | |
| |
| |
Creating the BC4J Components | |
| |
| |
Running the Application Using Business Component Browser | |
| |
| |
Creating Entity Objects | |
| |
| |
Defining Entity Objects | |
| |
| |
Creating a New Entity Object | |
| |
| |
Using Entity Object Wizard to Modify an Existing Entity Object | |
| |
| |
Adding Business Rules to an Entity Object | |
| |
| |
Associations and Compositions | |
| |
| |
Validation of Business Data | |
| |
| |
Creating View Objects | |
| |
| |
Defining View Objects | |
| |
| |
Creating a New View Object | |
| |
| |
Using View Object Wizard to Modify an Existing View Object | |
| |
| |
Calculated Attributes | |
| |
| |
View Links | |
| |
| |
Creating Application Modules | |
| |
| |
Defining Application Modules | |
| |
| |
Defining a Data Model for an Application Module | |
| |
| |
Nesting Application Modules | |
| |
| |
Adding Custom Code to an Application Module | |
| |
| |
Adding Custom Properties to an Application Module | |
| |
| |
Summary | |
| |
| |
| |
Using Business Components for Java (BC4J)--Deployment and Customization | |
| |
| |
Deploying BC4J | |
| |
| |
Deployment Options | |
| |
| |
Steps in Deploying an Application Module | |
| |
| |
Deploying an Application Module Using a Deployment Profile | |
| |
| |
Deleting a Deployed Application Module | |
| |
| |
Testing a Deployed Application | |
| |
| |
Developing a Client for BC4J Application | |
| |
| |
Developing an HTML Client Using JSP | |
| |
| |
Developing a Java GUI Client Using Data-Aware Controls | |
| |
| |
Hand-coding a Java Client | |
| |
| |
Coding a Client for Tier Independence | |
| |
| |
Handling of Events and Errors | |
| |
| |
About Events and Publishing of Events | |
| |
| |
Subscribing to Events | |
| |
| |
Error Handling | |
| |
| |
Exception Classes in JDeveloper | |
| |
| |
Handling Exceptions | |
| |
| |
Miscellaneous Topics | |
| |
| |
Creating a Database Table from an Entity Object | |
| |
| |
Creating a Database Constraint from an Entity Constraint | |
| |
| |
Expert Mode View Objects | |
| |
| |
Transaction Control in BC4J | |
| |
| |
Summary | |
| |
| |
| |
Employing Java in a Web Environment | |
| |
| |
| |
Java Servlet Programming | |
| |
| |
Overview of Servlets | |
| |
| |
Servlets Basics | |
| |
| |
Servlet Life Cycle | |
| |
| |
MIME Types | |
| |
| |
Advantages of Java Servlets | |
| |
| |
Developing a Servlet | |
| |
| |
Creating a Servlet | |
| |
| |
Accessing a Servlet | |
| |
| |
Exception Handling | |
| |
| |
Managing Sessions in Servlets | |
| |
| |
Database Sessions | |
| |
| |
HTTP Servlet Sessions | |
| |
| |
Managing Sessions | |
| |
| |
Servlets Deployment | |
| |
| |
Deploying a Servlet to a JAR File | |
| |
| |
Packaging JAR Files | |
| |
| |
Deploying Java Servlets on the Database-tier in Oracle8i (Oracle 8.1.7) | |
| |
| |
Create a Service | |
| |
| |
Add an Endpoint for a Port and Register It to the Web Service | |
| |
| |
Grant Ownership to the Servlet User for the Service Created | |
| |
| |
Create a Web Domain | |
| |
| |
Create a Servlet Context | |
| |
| |
Compile and Load the Servlet Class into the Database | |
| |
| |
Publish the Servlet in the Oracle8i Web Server | |
| |
| |
Access the Servlet from a Web Browser | |
| |
| |
Summary | |
| |
| |
| |
Using Java Server Pages | |
| |
| |
Overview of JSP | |
| |
| |
JSP Basics | |
| |
| |
JSP Tags | |
| |
| |
Declarations, Scripting, and Expressions | |
| |
| |
Objects and Actions | |
| |
| |
Advantages of JSPs | |
| |
| |
Differences Between JSPs and Java Servlets | |
| |
| |
JSP Architecture | |
| |
| |
Creating and Designing a JSP | |
| |
| |
Create JSPs | |
| |
| |
Referencing a JavaBeans Component from a JSP | |
| |
| |
Creating, Initializing, and Using JSP for Calling JavaBeans | |
| |
| |
Deploying a JSP | |
| |
| |
Compile Any Dependent Classes | |
| |
| |
Translate the JSP on the Server Side or Pre-translate the JSP Pages on the Client Side | |
| |
| |
Load the Translated JSP Pages into the Oracle8i Database | |
| |
| |
Optionally "Hotload" the Generated Page Implementation Classes | |
| |
| |
"Publish" the JSP Pages | |
| |
| |
Access the JSP Using a URL | |
| |
| |
Summary | |
| |
| |
Index | |