Foreword | p. XVII |
Acknowledgments | p. XXI |
Introduction | p. XXV |
Overview | |
Working with JDeveloper--Logical Concepts | p. 3 |
Overview | p. 4 |
Using JDeveloper | p. 5 |
The Multi-tier Approach to Application Development | p. 5 |
Hands-on Practice: Create a Java Application Using the Wizards | p. 6 |
Set up the Workspace | p. 7 |
Create a Business Components Project | p. 10 |
Create a User Interface Project | p. 14 |
Define a Master-Detail Data Form | p. 16 |
The Integrated Development Environment | p. 23 |
What's the Big IDEa? | p. 24 |
The JDeveloper Environment | p. 26 |
Menus and Toolbars | p. 26 |
IDE Work Areas | p. 36 |
Wizards | p. 49 |
The Help System | p. 53 |
About the Hands-on Practice | p. 56 |
Projects and Workspaces | p. 57 |
What the Practice Creates | p. 58 |
Hands-on Practice: Creating a Java Application Using the IDE Tools | p. 59 |
Create a Workspace | p. 61 |
Create the Business Components Project | p. 62 |
Create the User Interface Project | p. 68 |
Add the Data-Layer Controls | p. 71 |
Add the User Interface Controls | p. 76 |
Compile and Run the Java Application | p. 83 |
Troubleshooting the Java Application | p. 83 |
Naming Conventions | p. 89 |
The Importance of Using Naming Conventions | p. 90 |
Naming Convention Considerations | p. 92 |
The Consistency Issue | p. 93 |
Recognized Naming Conventions | p. 94 |
General Guidelines | p. 96 |
Use Meaningful Names for Clarity | p. 96 |
Use Acronyms and Abbreviations for Conciseness | p. 97 |
Use Suffixes to Imply Type | p. 97 |
Specific Rules | p. 98 |
Libraries and Packages | p. 98 |
Files | p. 98 |
Business Components for Java | p. 101 |
UI Components | p. 103 |
Java for PL/SQL Programmers | p. 105 |
Programming with Objects | p. 107 |
The Basic parts of Java | p. 108 |
Comments | p. 108 |
The Basic Executable Program Block | p. 109 |
Variable and Object Declarations | p. 111 |
Control Statements | p. 121 |
Exception Handling | p. 123 |
Skeleton of a JDeveloper Class File | p. 124 |
Interfaces | p. 125 |
Garbage Collection | p. 126 |
JDeveloper for Oracle Developer Programmers | p. 127 |
Which Development Tool to Use? | p. 128 |
Why Use Java? | p. 129 |
Deciding to Move to a Java-Based Development Environment | p. 129 |
Decision Points | p. 131 |
Other Comparisons | p. 134 |
Comparing Programming Environments | p. 134 |
Projects and Files | p. 134 |
The Languages | p. 134 |
The Code | p. 136 |
Comparing Work in the Tools | p. 136 |
The Navigators | p. 137 |
UI Designers | p. 139 |
Source Code Editors | p. 141 |
Property Inspectors | p. 141 |
Message Windows | p. 144 |
Wizards | p. 147 |
Development Method | p. 149 |
JDeveloper and the Java Environment | |
Business Components for Java | p. 153 |
Overview | p. 154 |
BC4J Structure | p. 155 |
How BC4J Works | p. 156 |
Utilizing BC4J Capabilities | p. 156 |
Building Applications Using BC4J | p. 159 |
Java and XML | p. 159 |
The BC4J Components | p. 161 |
Hands-on Practice: Creating a BC4J Project | p. 164 |
Set Up the Structure | p. 165 |
Add Components | p. 168 |
Hands-on Practice: Add Data-Validation Code | p. 181 |
Create Validation at the Attribute Level | p. 181 |
Create Validation at the Row Level | p. 184 |
Create Validation at the Domain Level | p. 185 |
Hands-on Practice: Testing Your BC4J Components | p. 187 |
Deployment Alternatives | p. 189 |
Java Application Strategy | p. 191 |
How Do Java Applications Work? | p. 192 |
Advantages of Java Applications | p. 194 |
Disadvantages of Java Applications | p. 194 |
Where Are Java Applications Useful? | p. 194 |
Applet Strategy | p. 195 |
How Do Applets Work? | p. 195 |
Advantages of Applets | p. 196 |
Disadvantages of Applets | p. 196 |
Where Are Applets Useful? | p. 197 |
JavaServer Pages Strategy | p. 198 |
How Do JSPs Work? | p. 198 |
Advantages of JSPs | p. 199 |
Disadvantages of JSPs | p. 200 |
Where Are JSPs Useful? | p. 202 |
Terminal Server Strategy | p. 202 |
How Does Terminal Server Work? | p. 202 |
Advantages of Terminal Server | p. 203 |
Disadvantages of Terminal Server | p. 203 |
Where Is Terminal Server Useful? | p. 204 |
What Is the Best Deployment Alternative? | p. 204 |
Deciding Where to Put the Code | p. 205 |
JDeveloper Code Deployment Features | p. 206 |
Hands-on Practice Preparation | p. 206 |
Sample Starting Files | p. 207 |
The Decision Points | p. 207 |
Prepare the Workspace | p. 208 |
Hands-on Practice: Deploying the BC4J Project | p. 209 |
Create the BC4J Archive | p. 211 |
Add the Archive to the Libraries List | p. 215 |
Hands-on Practice: Deploying a Java Application | p. 217 |
Prepare a Sample Java Application | p. 218 |
Deploy the Java Application | p. 218 |
Hands-on Practice: Deploying an Applet | p. 224 |
The Swing Class Applet Issue | p. 225 |
Prepare a Sample Applet | p. 226 |
Deploy the Applet | p. 227 |
Hands-on Practice: Deploying JSPs | p. 230 |
Prepare a Sample JSP Application | p. 230 |
Deploy the JSP Application | p. 231 |
Implementation Techniques | |
JavaServer Pages | p. 237 |
Working with JSP Applications in JDeveloper | p. 239 |
More Skills Required | p. 239 |
Typical JSP Development Steps | p. 240 |
Methods for Creating JSP Applications | p. 243 |
Types of JSP Code | p. 244 |
HTML Tags | p. 244 |
Standard JSP Tags | p. 253 |
JDeveloper JSP Elements | p. 256 |
What to Do After You Finish the Wizard | p. 265 |
Hands-on Practice Preparation | p. 266 |
Hands-on Practice: Building a Simple JSP Application | p. 267 |
Create and Run a Simple JSP File | p. 267 |
Organize the Project with Folders | p. 269 |
Add Other JSP Directives | p. 270 |
Hands-on Practice: Creating a JSP Data Application Using the Wizard | p. 273 |
Set up the Business Components and Connection | p. 274 |
Create the JSP Files | p. 278 |
Examine the Code | p. 284 |
Hands-on Practice: Building a JSP Data Application Manually | p. 285 |
Create a Data Browse Page with an Existing Web Bean | p. 285 |
Create a Data Browse Page with a New Web Bean | p. 292 |
Hands-on Practice: Creating Pages with the DataPage Wizard | p. 299 |
Hands-on Practice: Experimenting with the Cascading Style Sheet | p. 302 |
User Interface Components | p. 305 |
Component Palette | p. 307 |
Swing | p. 308 |
Swing Containers | p. 312 |
AWT | p. 314 |
InfoSwing | p. 316 |
InfoProducers | p. 320 |
Chart | p. 320 |
Other | p. 321 |
More Information | p. 321 |
Hands-on Practice: Sample BC4J Project | p. 322 |
Hands-on Practice: Using the LOV Control | p. 323 |
Create a Project for a Sample Application | p. 324 |
Create an LOV Row Set | p. 325 |
Create an LOV Object | p. 327 |
Define an Event for Displaying the LOV | p. 329 |
Try Some Variations | p. 331 |
Hands-on Practice: Using the Tree Control | p. 338 |
Create a Tree Display for a Self-Referencing Link | p. 339 |
Create a Tree Display for a Master-Detail Relationship | p. 344 |
Hands-on Practice: Adding to the Component Toolbar | p. 346 |
Add JOptionPane to a Tab | p. 347 |
Test JOptionPane | p. 350 |
Create a JavaBean | p. 351 |
Add the JavaBean to a Tab | p. 354 |
Test the JavaBean | p. 355 |
Menus and Toolbars | p. 357 |
Design Considerations | p. 358 |
What Do You Put on the Menu? | p. 359 |
Other Menu Features | p. 360 |
What Do You Put on the Toolbar? | p. 364 |
Other Toolbar Features | p. 365 |
Summary of User Access Methods | p. 366 |
Menus and Toolbars in JDeveloper | p. 367 |
Menu Objects | p. 368 |
Toolbar Objects | p. 370 |
Hands-on Practice Sample Application | p. 371 |
Hands-on Practice: Building a Menu | p. 372 |
Lay Out the Menu Elements | p. 373 |
Set the Menu Element Properties | p. 377 |
Write the Menu Item Code | p. 380 |
Hands-on Practice: Building a Popup Menu | p. 384 |
Lay Out the Elements | p. 385 |
Write the Menu Code | p. 386 |
Hands-on Practice: Building a Toolbar | p. 388 |
Lay Out the Toolbar Elements | p. 389 |
Set the Button Properties | p. 393 |
Write the Button Code | p. 394 |
Layout Managers | p. 399 |
Layout Manager Concepts | p. 400 |
Laying Out a User Interface | p. 402 |
Assigning a Layout Manager | p. 404 |
Setting Layout Manager Properties | p. 404 |
Layout Managers in JDeveloper | p. 405 |
Overview of the Layout Managers | p. 406 |
BorderLayout | p. 408 |
BoxLayout2 | p. 410 |
CardLayout | p. 414 |
FlowLayout | p. 416 |
GridBagLayout | p. 418 |
GridLayout | p. 428 |
OverlayLayout2 | p. 430 |
PaneLayout | p. 431 |
VerticalFlowLayout | p. 434 |
XYLayout | p. 436 |
Layout Manager Comparison | p. 438 |
Multiple Layouts | p. 440 |
Hands-on Practice Sample Application | p. 444 |
Hands-on Practice: Layouts | p. 445 |
Use the BorderLayout Manager | p. 446 |
Use the FlowLayout Manager | p. 449 |
Use the GridBagLayout Manager | p. 453 |
Security | p. 461 |
Security Issues | p. 462 |
Exposures and Controls | p. 463 |
Controlling Access | p. 467 |
Types of Users | p. 468 |
Implementing Controls | p. 468 |
Other Security Factors | p. 469 |
Security in Java | p. 470 |
Java Applet Permissions | p. 471 |
Hands-on Practice: Test Basic Security with an Applet | p. 472 |
Prepare Your Path | p. 473 |
Create a Java Applet to Write a Text File | p. 473 |
Deploy the Applet | p. 478 |
Test the Applet in a Browser | p. 479 |
Create a Security Policy File | p. 481 |
Test the Applet in Appletviewer | p. 483 |
Hands-on Practice: Implement Certificate Security | p. 484 |
Prepare the Sender to Use a Digital Signature | p. 487 |
Prepare the Receiver to Use a Digital Signature | p. 490 |
Hands-on Practice: Creating Security Files to Support Internet Explorer | p. 495 |
Install the Microsoft SDK | p. 496 |
Set up the Internet Explorer Security Files | p. 496 |
Debugging the Code | p. 501 |
Overview | p. 502 |
Types of Program Errors | p. 503 |
Debugging Activities | p. 505 |
Do You Really Have to Run the Debugger? | p. 506 |
Displaying Messages | p. 507 |
BC4J Web Monitor (Admin Utility) | p. 510 |
CodeCoach | p. 512 |
Setting Up CodeCoach | p. 512 |
Running CodeCoach | p. 512 |
Output from a CodeCoach Session | p. 513 |
The JDeveloper Debugger | p. 514 |
Starting a Debugging Session | p. 514 |
The Debug Tab Toolbar | p. 516 |
The Run Menu Debug Items | p. 517 |
Controlling Program Execution | p. 518 |
Examining Program Data Values | p. 521 |
Remote Debugging | p. 525 |
More Information | p. 526 |
Hands-on Practice: Debugging a Java Application | p. 526 |
Create a Buggy Application | p. 526 |
Prepare for the Debugging Session | p. 530 |
Control Program Execution | p. 531 |
Examine Data Values | p. 535 |
JDeveloper Wizards | p. 541 |
Accessing the Wizards | p. 543 |
Customizing and Extending the IDE | p. 553 |
What Should You Customize? | p. 554 |
The Possibilities | p. 556 |
Information Resources | p. 556 |
Techniques for Customizing and Extending the IDE | p. 557 |
Other Customization Tips | p. 564 |
Java Security and Oracle8i File Handling | p. 565 |
Java Security Manager | p. 566 |
Prepare the Database | p. 566 |
Index | p. 569 |
Table of Contents provided by Syndetics. All Rights Reserved. |