Advantages of Java Platform independence Stand-alone applications and servlets Structure of a Java program Compiling source code into byte code Overview of class libraries --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Object-Oriented Programming with Java Te ob!ect paradigm Ob!ect-oriented "OO# programming $ncapsulation% ineritance and polymorpism OO analysis and design& '(s a' and ')as a' relationsips *esigning an OO application step by step *iagramming ob!ect structure wit +nified ,odeling -anguage "+,-# Java's object-oriented features (nstantiating ob!ects from classes Aggregation and composition $.tending e.isting classes Overloading and overriding metods --------------------------------------------------------------------------------------- ----------------------------------------------------------------- tructure of the Java !anguage -anguage synta. *eclaring and initiali/ing variables Statements and e.pressions *eclaring and using arrays +p casting% down casting and auto bo.ing " F#ow contro# (nvo0ing metods and passing parameters Conditionals and loops )andling e.ceptions wit try and catc $efining c#asses 1ields "instance data# ,etods "functions# Abstract classes and interfaces Organi/ing classes wit pac0ages and visibility modifiers Composition vs2 ineritance Bui#ding the com%onents of a Java %rogram 3or0ing wit e.isting classes -everaging generics wit te collections AP( $.tending base classes *eveloping new classes Compiling and debugging --------------------------------------------------------------------------------------- ----------------------------------------------------------------- $eve#o%ing &'Is Foundations of user interfaces 4asic 5+( widgets $vent-driven programming 4enefits of a portable windowing library Java Foundation C#asses (JFC) Advantages of ligtweigt Swing components $.ploring te Swing component library Creating Swing components& buttons% te.t fields% drop-down lists Adding Swing components to containers Arranging Swing components using layout managers *ialogs and message bo.es *vent hand#ing 6egistering event andlers (nner classes and top-level classes --------------------------------------------------------------------------------------- ----------------------------------------------------------------- toring and +etrieving $ata with Fi#e I,O Java streams Streams% 6eaders and 3riters Accessing files Catcing and trowing e.ceptions 1ormatting te.t output Fi#es and directories 6eading and writing files Creating% deleting and renaming files Obtaining directory and file information --------------------------------------------------------------------------------------- ----------------------------------------------------------------- -or.ing with +e#ationa# $atabases J$BC database access -everaging te J*4C AP( Coosing database drivers Connecting to a database " (mproving performance wit prepared statements and stored procedures Submitting S7- statements 6etrieving and processing results --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Java $eve#o%ment /oo#s Java *evelopment 8it "J*8# Compiler "!ava c# Java doc utility Java Arcive "JA6# utility Java (ntegrated *evelopment $nvironments "(des# --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Introduction and Overview -eb a%%#ication deve#o%ment Te re9uirements of a 3eb application Components of an n-tier arcitecture 0e1 com%onents of Java ** for -eb deve#o%ment Servlets JSP :,- --------------------------------------------------------------------------------------- ----------------------------------------------------------------- &enerating Content with erv#ets &etting started with serv#ets (ntegrating servlets into te 3eb application arcitecture Configuring te servlet development environment Avoiding common servlet pitfalls 'ti#i2ing the Java erv#et API Servlet life cycle metods Accessing servlet environment variables Creating -eb-based forms for user in%ut Adding te.t fields and drop-down lists -in0ing forms to servlets 6etrieving form data in te servlet --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Accessing databases with erv#ets $.tending servlets wit Java *atabase Connectivity "J*4C# Connecting to te database Submitting S7- statements 6etrieving and processing data 1ormatting database results Constructing an )T,- table Adding drill-down features --------------------------------------------------------------------------------------- ----------------------------------------------------------------- 3aintaining tate in Java -eb A%%#ications 6eading and writing coo0ies to personali/e 3eb content 6etrieving coo0ies from a client re9uest Sending coo0ies to te client Circumventing coo0ie limitations ,anaging application state wit sessions Creating a uni9ue session for eac user Storing and retrieving Java ob!ects witin sessions Controlling a session;s life span Creating application and session event listeners (mplementing a sopping cart --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Creating Java erver Pages (JP) JSP fundamentals *esign goals of JSP +sing JSP script lets% e.pressions and declarations Communicating wit te client using built-in JSP server ob!ects -everaging te JSP < $.pression -anguage "$-# State management wit JSP Accessing coo0ies and sessions Storing common application data --------------------------------------------------------------------------------------- ----------------------------------------------------------------- $esigning JP and erv#et Architectures (ntegrating JSP and Java4eans Promoting ob!ect reuse Separating application logic from te presentation Calling JSP from servlets 1orwarding Java ob!ects to JSP +sing Java4eans to transfer data Servlet and JSP design patterns --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Integrating JP Custom /ags -everaging te Tag $.tension mecanism Te role of JSP custom tags Applying te JSP Standard Tag -ibrary "JST-# *eveloping custom tags Creating custom tags wit JSP < tag files Customi/ing tag beavior wit attributes --------------------------------------------------------------------------------------- ----------------------------------------------------------------- $eve#o%ing truts A%%#ication Struts = framewor0 overview Components of te Struts framewor0 ,odel->iew-Controller ",>C# arcitecture *eveloping Struts components 4uilding te Java4eans model Presenting a view wit JSP *ispatcing actions wit te controller --------------------------------------------------------------------------------------- ----------------------------------------------------------------- $e%#o1ing 4our Java -eb A%%#ication *efining te deployment descriptor Creating a 3eb Application Arcive "3A6# file Adding role-based application secu -auncing a Struts < application *efining te need for a Struts < arcitecture Specifying te application structure Preparing te development environment 5etting started wit Struts < (dentifying 0ey application components (mplementing te re9uest processing cycle -in0ing te flow by configurations --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Configuring truts 5 Actions% results and interceptors Categori/ing re9uests wit namespaces and pac0ages $.ploiting /ero configuration conventions Setting te default features (nspecting out of te bo. functionality 4uilding dependencies wit (nversion of Control --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Im%#ementing truts 5 Actions Controlling application flow +tili/ing te Action Support base class $liminating redundant code wit ,odel *riven actions Simplifying te development process 4est practices for unit testing your actions (mproving maintainability troug message locali/ation --------------------------------------------------------------------------------------- ----------------------------------------------------------------- &athering and Va#idating 'ser In%ut 4uilding Struts < views *efining an improved approac to page generation wit Struts < tags -everaging te Struts < On-*emand model for data access 5atering user data effortlessly Controlling page flow wit model data Struts < validation arcitecture Positioning te Struts < validation model $.ploring te built-in validation rules Applying validation interceptors $fficiently andling validation failures $.tending te validation framewor0 Creating your own validation rules Configuring validation troug Struts < annotations (ntegrating custom validation wit built-in rules --------------------------------------------------------------------------------------- ----------------------------------------------------------------- *nter%rise -eb A%%#ication $eve#o%ment *esign goals of a 3eb application Components of an enterprise arcitecture Struts 1undamentals 5etting started wit Struts (nstalling and configuring Struts (dentifying Struts core classes (ntegrating Struts Custom Tag -ibraries Struts development process Analy/ing application flow 4uilding te Java4eans model Presenting a view wit JSP *ispatcing actions wit te controller --------------------------------------------------------------------------------------- ----------------------------------------------------------------- 6and#ing A%%#ication +e7uests *efining Action Classes Configuring te Struts Controller Processing re9uests wit Actions ,anaging application state 1orwarding business data to JSP view components Processing )T,- forms *efining Action 1orm beans Populating Action 1orms wit form data Creating wi/ard-style page flows Preventing duplicate form submission Allowing file uploads (ntegrating business logic wit Java $$ design patterns *ecoupling te business tier using te 4usiness *elegate pattern Transferring data using te >alue Ob!ect pattern Advanced controller features -everaging pre-defined Struts Actions )andling e.ceptions& declarative and programmatic approaces $.tending Struts wit Plug-(ns Creating a custom 6e9uest Processor --------------------------------------------------------------------------------------- ----------------------------------------------------------------- &enerating $1namic Views (ntegrating JSP custom tags Custom tag usage model Configuring tag libraries 4uilding Struts views )andling data input wit Struts )T,- tags 5enerating output wit Struts 4ean tags ,anipulating Ob!ect graps wit Struts ?ested tags Streamlining JSP development *efining JST- functionality 1ormatting output using JST--$- Controlling page content using JST- logic tags (nternationali/ing applications Translating views to multiple languages (ntegrating resource bundles wit Struts Canging locale on te fly TOP --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Java erver Faces Creating views wit JS1 components 1aces re9uest processing life cycle Comparing Struts and JS1 3oving Forward with truts 5 Analy/ing te enanced features of Struts < Comparing and contrasting Struts = and Struts < *nter%rise A%%#ication $eve#o%ment $stablising te components of an enterprise arcitecture Streamlining te development process wit Java $$ @ !everaging Java erver Faces (JF) JS1 arcitecture (dentifying te JS1 core components $.ploring te re9uest processing cycle ,anaging application flow using te JS1 navigation model Constructing a JS1 application Creating views wit JS1 custom tags )andling user events wit bac0ing beans $nancing functionality using JS1 services Applying server-side data validation Ta0ing advantage of te +nified $.pression -anguage --------------------------------------------------------------------------------------- ----------------------------------------------------------------- &enerating +ich 'ser Interfaces ('I) with JF Com%onent /echno#og1 4uilding views wit standard )T,- components *efining te functionality of te )T,- component set Arranging te +( component layout -ocali/ing messages using 6esource 4undles Creating custom +( components *eveloping te custom component class 3riting te custom tag andler *eploying te custom component -everaging A!a. to improve te user e.perience Sarpening response wit te asyncronous 3eb model Combining A!a. functionality wit JS1 +tili/ing pre-built A!a.-enabled JS1 components --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Im%#ementing the Business /ier with *JB 8 Stateless and stateful beans $ncapsulating scalable business logic wit Java4eans Accessing session beans remotely Constructing effective stateful services Applying advanced strategies of session beans Adding beaviors wit metod interceptors -in0ing services wit annotation-based resource in!ection Triggering timer-based services Obtaining asyncronous communication wit J,S *ecoupling client interaction wit te Java ,essage Service Transmitting and receiving messages wit J,S +nleasing ,essage *riven 4eans ",*4# Simplifying robust message receivers wit ,*4 5enerali/ing message reception wit Java connectors --------------------------------------------------------------------------------------- ----------------------------------------------------------------- O%ening Access with -eb ervices Acieving interoperability wit JA:-3S Coding and pac0aging a service endpoint Pac0aging and deploying te service Accessing services wit JA:-3S clients Analy/ing te client contract 4inding and e.canging valid data types )andling Comple. Ob!ect 6elationsips $ffectively representing ob!ect associations Capturing single and multi-valued associations 6epresenting Java collections Coosing appropriate ineritance strategies $mploying tecni9ues for class-to-database mapping Auditing operations wit Callbac0s and -isteners 3or0ing wit JP7- (nitiating data access wit te Java Persistence 7uery -anguage "JP7-# and AP( Selecting $ntity and relationsip properties $nancing application structure and performance (mproving structure wit named 9ueries Augmenting JP7- wit native optimi/ed S7- --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Overview of 93! /echno#ogies :,- in te enterprise Te benefits of pairing Java and :,- Styling for 4<4 transformation and 4<C presentation Te well-formed :,- document Te document root and prolog Synta. ?amespaces Content $lements Attributes $ntities --------------------------------------------------------------------------------------- ----------------------------------------------------------------- *:changing and Va#idating $ata *esigning :,- enterprise applications *ata modeling wit :,- 4<4A4<C ob!ect modeling for Java $nforcing validation in data e.cange 3riting *ocument Type *efinitions "*T*s# $mbedding business rules into *T*s *T* synta. and components :,- scemas -imitations of *T*s -everaging Scema *ata types 3riting :,- to validate :,- 4uilding user-defined types --------------------------------------------------------------------------------------- ----------------------------------------------------------------- $O3 Parsing with Java *O, synta. for Java 1itting *O, into :,- $.tracting data troug te *O, tree view 3or0ing wit *O, nodes Processing *O, data >alidating *O, *etermining wen to use validation $nabling validation in te parser )andling *O, e.ceptions Constructing Java ob!ects wit *O, ,apping :,- data into Java 4uilding a user-friendly 5+( from *O, --------------------------------------------------------------------------------------- ----------------------------------------------------------------- &enerating and '%dating 93! with $O3 $.tracting data wit Java *atabase Connectivity "J*4C# $stablising te database connection 7uerying and modifying a database wit S7- ,odifying *O, data (dentifying specific nodes 6estructuring te document tree 4uilding :,- documents from scratc 5enerating :,- from a J*4C 6esult Set Creating element and te.t nodes Outputting a document using a Seriali/er --------------------------------------------------------------------------------------- ----------------------------------------------------------------- Java ** and $esign Patterns $nterprise system design Comparing OO and Java $$ patterns Te benefits of design patterns in Java $$ *istributed systems development $.ploiting remote metod invocation *esign patterns in distributed systems --------------------------------------------------------------------------------------- ----------------------------------------------------------------- tructuring the -eb Presentation /ier Separating control and presentation logic Te role of JSPBs and servlets Constructing ,odel >iew Control ",>C# arcitectures 1ront Controller *ispatcer >iew Service to 3or0er Applying 3eb framewor0 support wit Struts (nvestigating te Struts ,>C arcitecture Planning and implementing comple. wor0flows )andling duplicate form submission wit te Syncroni/er To0en pattern -ocali/ing disparate logic (mproving maintainability of algoritms (ntercepting 1ilter >iew )elper Composite >iew 6eusing page layout wit Tiles 3riting modular JSPs