Complete Java Web Development JAVA-WD Rev 11.14 4 days Description Complete Java Web Development is a crash course in developing cutting edge Web applications using the latest Java EE 6 technologies from Oracle and the open source community. The course builds a strong understanding of Servlet technology as the cornerstone of Java's Web platform. It then shows how JSPs build on the Servlet architecture. Additionally, the class shows students how to use JSTL, custom tags, and expression language to reduce Java code in Web pages while adding tremendous power and capability to those pages. The class culminates in an exploration of Java MVC frameworks like JSF, Struts, and Spring MVC. While focusing on Web technologies, the course also exposes developers to the constant tradeoffs between application robustness and complexity. This is not a class that focuses on theory. Participants will find the course is loaded with practical labs and simulations. After taking this class, developers will be able to build Web applications that perform well, are scalable, and that are easier to maintain. Audience This course is designed for Java programmers and Web application designers who have interest in learning how to build or maintain Java Enterprise Edition Web applications. Objectives Upon completion of this course, students will be able to: Use Java servlets in the role of Web application control Identify the options to state management in a Java Web application and understand the pros/cons of each Understand how JSPs can help separate Web logic and functionality from page layout Make JSPs smaller and more powerful with JSTL, custom tags, and expression language Use strategies in the exchange of data between Web pages (views) and business processing (model) Understand the meaning and importance of MVC Prerequisites Solid understanding of Java required Understanding of Web technologies such as HTML and HTTP helpful Course Outline Module 1: Java EE Overview Java Enterprise Edition (Java EE) Multi-Tiers Container Java EE APIs Module 2: HTTP Basics HTTP 101 Web Basics Client to Server Interaction Page 1 of 5
HTTP Message Initial Line HTTP Methods HTTP Status Codes HTTP Header Fields The Message Body Module 3: Introduction to Servlets What is a Servlet? The Basic HTTP Servlet Servlet Life Cycle The service() Method Web Server versus Web Container Servlet Mapping Servlet Initialization Parameters Standard Deployment with War files Additional Servlet Information and Alternate Servlet Configuration Module 4: Request Data Getting Servlets Data Query String HTML Forms Collecting Data Header Parameters Initialization Parameters Revisited and ServletConfig Module 5: Cookies Cookies Defined Creating Cookies Retrieving Cookies Module 6: HTTP Session Session Tracking Using HTTPSession URL Rewriting Container Session Support Attribute Data and Scope Servlet Context Multithreading Module 7: Invoking Resources Servlet and Other Resources Forwarding/Redirecting Client Redirects Forwards Pros and Cons of Forwards and Redirects Includes Page 2 of 5
Module 8: Filters Servlet Filters Making a Filter Filter Mapping Filter Initialization Parameters Module 9: JSP Introduction Why JSPs? What is a JSP? The JSP HelloWorld Scriptlets Implicit Objects How are Implicit Objects Implemented? Expressions Declarations JSP Comments Module 10: JSP Extras (Directives and Expression Language) JSP Directives Page Directive Buffer and AutoFlush Page Directive Attributes Exception Handling Page Directive Attributes The exception Implicit Object Include Directive What is Unified Expression Language? EL Syntax EL Operators EL Variables EL Implicit Objects Immediate and Deferred Evaluation Deactivating EL Module 11: Standard Actions JSP Standard Actions Tag Syntax jsp:forward jsp:include The Include Directive Revisited JavaBeans Defined JavaBean Standard Actions jsp:usebean, jsp:getproperty, and jsp:setproperty Additional Action Tags Module 12: JSTL What is JSTL? Why JSTL? JSTL Tag Categories Page 3 of 5
JSTL HelloWorld Example Core Tags c:out c:set c:if c:choose c:foreach c:fortokens c:import c:redirect c:url Formatting Tags fmt:formatnumber fmt:formatdate XML Tags SQL Tags Functions Module 13: Web Application Security Security Constraints (via deployment descriptor) Security Constraints (via annotation) Defining Security Roles Realms and Identity Storage Authentication Types Programmatic Security Module 14: JSF 2.0 Model View Controller Architecture What is JSF? What You Need to Do JSF JSF Basics Your First JSF Application Managed Beans Facelets Facelet Templates JSF HTML and Core Tags Internationalization/Localization Appendix A: Additional Servlet Information Application Configuration and Web.xml Welcome Pages and Error Pages Filters in web.xml Web.xml WAR Deployment with web.xml Files Proprietary Configuration Information Servlets and the Competition Page 4 of 5
Appendix B: HTML/XHTML Reference HTML Tags HTML Structure Tags HTML Basic Text Tags HTML Forms HTML Lists HTML Miscellaneous HTML Table HTML Character Entities XHTML Appendix C: Custom Tag Libraries JSP Tags Creating a Custom Tag The Tag Library Descriptor (TLD) Taglib Directive and Use in the JSP TLD Alias Handler Class SimpleTag with Attributes Appendix D: Struts What is Struts? Struts 2 Architecture Struts Setup Struts Actions Results and Result Handling Action Annotation Strut Tags Interceptors I18N/L10N Appendix E: Spring MVC What is Spring? Spring Modules What You Need to Do Spring Spring MVC Architecture Spring MVC Basics Your First Spring MVC Application DispatcherServlet Controllers View Resolvers Views Externalized Messages Spring MVC Tag Libraries Page 5 of 5