COURSE J2EE Web Component Development with Java Technology www.tesis-oys.com.ar 1 Cantidad de Horas Tipo Idioma 40 Teórico Practico Ingles Objetivos del curso 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Introduction to Web Application Technologies Developing a Simple Servlet Developing a Simple Servlet That Uses HTML Forms Developing a Web Application Using a Deployment Descriptor Configuring Servlets Sharing Resources Using the Servlet Context Developing Web Applications Using the MVC Pattern Developing Web Applications Using Session Management Handling Errors in Web Applications Configuring Web Application Security Understanding Web Application Concurrency Issues Integrating Web Applications With Databases Developing JSP™ Pages Developing Web Applications Using the Model Architectur Developing Web Applications Using the Model Architecture Building Reusable Web Presentation Components Developing JSP Pages Using Custom Tags Developing a Simple Custom Ta Developing Advanced Custom Tags Integrating Web Applications With Enterprise JavaBeans Components Quick Reference for HTML Quick Reference for HTTP Quick Reference for the Tomcat Server Quick Reference for the Ant Tool . Quick Reference for XML Quick Reference for UML www.tesis-oys.com.ar 2 Temario 1. Introduction to Web Application Technologies Objectives Relevance Additional Resources Internet Services The Internet Is a Network of Networks Networking Protocol Stack Client Server Architecture Hypertext Transfer Protocol. Web Browsers and Web Servers HTTP Client Server Architecture . The Structure of a Web Site Web Applications CGI Programs on the Web Server Execution of CGI Programs Advantages and Disadvantages of CGI Programs Java Servlets Servlets on the Web Server Execution of Java Servlets Advantages and Disadvantages of Java Servlets Template Pages Other Template Page Technologies JavaServer Pages Technology Advantages and Disadvantages of JavaServer Pages The Model 2 Architecture The J2EE Platform An Example of J2EE Architecture Job Roles Web Application Migration 2. Developing a Simple Servlet Objectives Relevance Generic Internet Services The NetServer Architecture The Generic Servlets API. The Generic HelloServlet Class HTTP Servlets Hypertext Transfer Protocol HTTP GET Method HTTP Request. The HTTPServletRequest API . HTTP Response The HTTPServletResponse API Web Container Architecture The Web Container Sequence Diagram of a HTTP GET Request Request and Response Process The HTTP Servlet API The HTTP HelloServlet Class Deploying a Servlet Installing, Configuring, and Running the Web Container Deploying the Servlet to the Web Container Activating the Servlet in a Web Browser 3. Developing a Simple Servlet That Uses HTML Forms Objectives Relevance Additional Resources HTML Forms The FORM Tag . HTML Form Components Input Tags . Textfield Component Submit Button Components Reset Button Component Checkbox Component. Radio Button Component Password Component Hidden Field Component The SELECT Tag The TEXTAREA Tag Form Data in the HTTP Request HTTP GET Method Request HTTP POST Method Request To GET or to POST? How Servlets Access Form Data The Servlet API The FormBasedHello Servlet 4. Developing a Web Application Using a Deployment Descriptor Objectives Problems With Simple Servlets Problems With Deploying in One Place Multiple Web Applications Web Application Context Name Problems With Servlet Naming . Solutions to Servlet Naming Problems . Problems Using Common Services Developing a Web Application Using a Deployment Descriptor The Deployment Descriptor A Development Environment The Deployment Environment The Web Archive (WAR) File Format 5. Configuring Servlets Objectives Relevance Servlet Life Cycle Overview The init Life Cycle Method The service Life Cycle Method The destroy Life Cycle Method Servlet Configuration The ServletConfig API Initialization Parameters . www.tesis-oys.com.ar 3 6. Sharing Resources Using the Servlet Context Objectives Relevance The Web Application Duke’s Store Web Application The ServletContext API Context Initialization Parameters Access to File Resources. Writing to the Web Application Log File Accessing Shared Runtime Attributes The Web Application Life Cycle Duke’s Store Example . Configuring Servlet Context Listeners 7. Developing Web Applications Using the MVC Pattern Objectives Activities of a Web Application The Soccer League Example Page Flow of the Soccer League Example Architecture of the Soccer League Example Activity Diagram of the Soccer League Example Discussion of the Simple Web Application Model View Controller for a Web Application Sequence Diagram of MVC in the Web Tier Soccer League Application: The Domain Model Soccer League Application: The Services Model Soccer League Application: The Big Picture Soccer League Application: The Controller Soccer League Application: The Views The Request Scope 8. Developing Web Applications Using Session Management Objectives Relevance Additional Resources HTTP and Session Management Sessions in a Web Container Web Application Design Using Session Management Example: Registration Use Case Example: Multiple Views for Registration Example: Enter League Form Notes Web Application Development Using Session Management The Session API Retrieving the Session Object Storing Session Attributes Accessing Session Attributes Destroying the Session Session Management Using Cookies The Cookie API Using Cookies Using Cookies for Session Management Session Management Using URL Rewriting Implications of Using URL Rewriting Guidelines for Working With Sessions 9. Handling Errors in Web Applications Objectives Additional Resources The Types of Web Application Errors HTTP Error Codes Generic HTTP Error Page Servlet Exceptions Generic Servlet Error Page Using Custom Error Pages . Creating Error Pages Declaring HTTP Error Pages Example HTTP Error Page Declaring Servlet Exception Error Pages Example Servlet Error Page Developing an Error Handling Servlet Programmatic Exception Handling Exception Handling Servlet Declarations Trade offs for Declarative Exception Handling Trade offs for Programmatic Exception Handling Logging Exceptions 10. Configuring Web Application Security Objectives Relevance Additional Resources Web Security Issues Authentication Authorization Maintaining Data Integrity Access Trackin Dealing With Malicious Code Dealing With Web Attacks Declarative Authorization Web Resource Collection Declaring Security Roles Security Realms Declarative Authentication BASIC Authentication Form based Authentication 11. Understanding Web Application Concurrency Issues Objectives Additional Resources The Need for Servlet Concurrency Management Concurrency Management Example Attributes and Scop Local Variables Instance Variables Class Variables Request Scop Session Scop Application Scope The Single Threaded Model The SingleThreadModel Interface www.tesis-oys.com.ar 4 How the Web Container Might Implement the Single Threaded Model STM and Concurrency Management Recommended Approaches to Concurrency Management 12. Integrating Web Applications With Databases Objectives Relevance Additional Resources Database Overview The JDBC API Designing a Web Application That Integrates With a Database Domain Objects Database Tables Data Access Object Pattern Advantages of the DAO Pattern Developing a Web Application That Uses a Connection Pool Connection Pool Storing the Connection Pool in a Global Name Space Accessing the Connection Pool Initializing the Connection Pool Developing a Web Application That Uses a Data Source 13. Developing JSP™ Pages Objectives Relevance Additional Resources JavaServer Page Technology How a JSP Page Is Processed Developing and Deploying JSP Pages JSP Scripting Elements Comments Directive Tag Declaration Tag Scriptlet Tag Expression Tag Implicit Variables The page Directive JSP Page Exception Handling Declaring an Error Page Developing an Error Page Behind the Scenes Debugging a JSP Page 14. Developing Web Applications Using the Model Architectur Objectives Additional Resources Designing With Model 1 Architectur Guest Book Form Guest Book Components Guest Book Page Flow What Is a JavaBeans Component? The GuestBookService JavaBeans Component Developing With Model 1 Architecture The Guest Book HTML Form JSP Standard Actions Creating a JavaBeans Component in a JSP Page Initializing the JavaBean Component Control Logic in the Guest Book JSP Page Accessing a JavaBeans Component in a JSP Page Beans and Scope Review of the jsp:useBean Action 15. Developing Web Applications Using the Model Architectur Objectives Relevance Designing With Model 2 Architectur The Soccer League Example Using Model Architecture Sequence Diagram of Model 2 Architecture Developing With Model 2 Architecture Controller Details Request Dispatchers View Details 16. Building Reusable Web Presentation Components Objectives Complex Page Layouts What Does a Fragment Look Like? Organizing Your Presentation Fragments Including JSP Page Fragments Using the include Directive Using the jsp:include Standard Action Using the jsp:param Standard Action 17. Developing JSP Pages Using Custom Tags Objectives Relevanc Additional Resources Job Roles Revisite Introducing Custom Tag Libraries Contrasting Custom Tags and Scriptlet Code Developing JSP Pages Using Custom Tags What Is a Custom Tag Library? Custom Tag Syntax Rules Example Tag Library: Soccer League Developing JSP Pages Using a Custom Tag Library Using an Empty Custom Tag Using a Conditional Custom Tag Using an Iterative Custom Tag 18. Developing a Simple Custom Ta Objectives Overview of Tag Handlers www.tesis-oys.com.ar 5 Fundamental Tag Handler API Tag Handler Life Cycl Tag Library Relationships Developing a Tag Handler Class The getReqParam Tag The getReqParam Tag Handler Class Configuring the Tag Library Descriptor Tag Declaration Element Custom Tag Body Content Custom Tag Attributes Custom Tag That Includes the Body The heading Tag The heading Tag Handler Class The heading Tag Descriptor 19. Developing Advanced Custom Tags Objectives Writing a Conditional Custom Ta Example: The checkStatus Ta The checkStatus Tag Handler The checkStatus Tag Life Cycl Writing an Iterator Custom Ta Iteration Tag API Iteration Tag Life Cycle. Example: The iterateOverErrors Tag The iterateOverErrors Tag Handler Using the Page Scope to Communicate Notes 20. Integrating Web Applications With Enterprise JavaBeans Components Objectives Relevance Additional Resources Distributing the Business Logic. Java 2 Platform, Enterprise Edition. Enterprise JavaBeans Technology Integrating the Web Tier With the EJB Tier . Enterprise JavaBeans Interfaces . Java Naming and Directory Service . Creating the Business Delegate Declaring the Business Delegate Class Finding the Home interface Using JNDI Delegating Business Methods to the EJB Tier Using the Business Delegate in a Servlet Controller 2 Using a Delegate in a Servlet 21. Quick Reference for HTML Objectives . Additional Resources. HTML and Markup Languages Definition . Types of Markup Simple Example Basic Structure of HTML . Tag Syntax . Comments . Spaces, Tabs, and Newlines Within Text Character and Entity References Links and Media Tags The HREF Attribute and the A Element The IMG Element and the SRC Attribute The APPLET Element The OBJECT Element Text Structure and Highlighting . Text Structure Tags Text Highlighting . HTML Forms. The FORM Tag HTML Form Components . Input Tags . Text Fields . Submit Buttons Reset Button . Checkboxes . Radio Buttons Password Hidden Fields . The SELECT Tag The TEXTAREA Tag . Table Elements Advanced HTML . The JavaScript™ Language CSS Frames 22. Quick Reference for HTTP Objectives . Additional Resources Introduction to HTTP Definition Structure of Requests. HTTP Methods . Request Headers Structure of Responses Response Headers . Status Codes CGI. Set of Environment Variables . Data Formatting 23. Quick Reference for the Tomcat Server Objectives Additional Resources. Definition of the Tomcat Server Installation Instructions . Starting and Stopping the Tomcat Server Execution . Starting the Tomcat Server. Stopping the Tomcat Server Configuration Logging and Log Files . 24. Quick Reference for the Ant Tool . Objectives Additional Resources. Introduction to Ant www.tesis-oys.com.ar 6 Build File Structure Projects Targets Tasks Properties Ant Special Features Patterns. The fileset Element Filtering Basic Built in Ant Tasks The copy Task The delete Task The mkdir Task The echo Task. The javac Task The javadoc Task . The jar Task Complete Ant Build File Executing Ant Install Instructions System Requirements Environment Setup for Ant 25. Quick Reference for XML Objectives . Additional Resources Introduction to XML Simple Example. Basic Syntax . Well Formed XML Documents Validity and DTDs. DTD specific Information Schemas 26. Quick Reference for UML Additional Resources. What Is UML? Modeling in UML User View . Structural View Behavioral View Implementation View . Environment View . General Elements . Packages Stereotypes . Annotation . Constraints . Tagged Values Use Case Diagrams . Class Diagrams . Class Nodes . Inheritance Interface Implementation Association, Roles, and Multiplicity . Aggregation and Composition Association Classes Other Association Elements Object Diagrams Sequence Diagrams Collaboration Diagrams . State Diagrams Transitions Activity Diagrams. Component Diagrams Deployment Diagrams. El contenido dictado durante el curso puede variar o ser recortado a discreción del instructor dependiendo del avance del curso sin ningún perjuicio al correcto dictado del mismo ni derecho a reclamo. www.tesis-oys.com.ar 7