Building Web 2.0 Applications using Java Servlets, JSP and Ajax provides all the information required to build state-of-the-art Web 2.0 applications using Java EE technologies such as Servlets and JSP.
Java Servlets and JavaServer Pages are essential server-side Java technologies for building web applications. Servlets are programs that run on a web server; they can respond to client requests. JavaServer Pages are useful for dividing work between Java developers and HTML designers.
Ajax allows a web page to be very dynamic and responsive to the user’s actions. This course is a comprehensive tutorial in the design and programming of servlets and JSPs. Students will learn about:
- Building scalable web applications
- Servlets and JSP technologies
- Custom tag development
- Web application design and architecture (using Model 2)
- Various Web Application techniques
- Web Security
- Ajax (from scratch)
- Introduction to Ajax toolkits and frameworks (e.g, Dojo)
- Explore DWR
A correct architecture and design is paramount. That’s why we explain all technologies within the Model 2 architecture (de de-facto standard, which is also followed by frameworks like Struts, JSF and Spring MVC). So we will not explain Servlets and JSP as a list of technologies as they where specified chronically, but always within its architectural context. You will learn all technologies.
Workshop overview
Session: Introduction to Java EE Web applications
Lesson: Introduction
- Understand the concept of dynamic web applications
- List the Web technologies in Java EE 5
- Understand for each their purpose and architectural position Get an overview of the deployable unit of a web application
- Explain the principles of Servlet and JSP
- Introduce JSF
Lesson: Introduction to Servlets and JSP
- Introduce the Model 2 Architecture (MVC for the web)
- Understand the architectural relation between Servlets and JSP
- Understand the responsibilities and typical implementation technology of each element in Model 2
- Understand how to write a Servlet to process a form
- Understand how to configure a Servlet in de web.xml deployment descriptor
- Understand the basic Servlet API
- Understand how to write a JSP
- Understand the different techniques available in JSP
- Introduce attributes, their scope and their role in the Model 2 architecture
- Introduce the use and syntax of Unified Expression Language
- Introduce JSP standard actions
- Introduce JSTL
- Mention and discuss language based scripting
Session: Java EE Web Applications
Lesson: Configuration (Databases, EJBs and configuration data)
- Adding ServletContext parameters
- Data access in Web Applications
- Accessing resources (e.g., Datasources) using Dependency injection (DI)
- Discuss shortcomings of DI
- Explain the process of a JNDI lookup
- Use the DAO (Data Access Object) pattern
- How to locate EJBs.
Lesson: Session Management
- Client side session management using cookies
- Understand HTTP cookies
- Understand under which criteria cookies are accepted
- Server side session management using HttpSession object
- Understand the architectural impact when using server side state management (failt-over, server affinity, session replication etc)
- Understand the two web-application life-cycle listeners
- Understand the three session life-cycle listeners
- Understand when to use an HttpSessionBindingListener
Lesson: Security
- Understand the security tasks and how they are addressed in Java EE
- Understand how to establish proof of identity in web applications
- Understand how to restrict access to parts of the web application
- Understand how to establish data integrity and privacy
- Explain the configuration of security and the power of indirection
- Understand Users, Groups & Roles
- Understand role based security
- Understand principal mapping strategies
Lesson: Programming Java EE Filters
- Understand the concept of filtering and chaining of filters.
- List the three methods of the javax.servlet.Filter Interface and explain their purpose
- Configuring a Filter in the deployment descriptor
- Understand the rationale behind the interceptor pattern
- Understand the use of the Wrapper pattern in Filters
- Understand how to use the HttpServletRequestWrapper and heHttpServletResponseWrapper
Lesson: Introduction to Custom Tags
- Understand the proposed architectural role of Custom Tags
- List the components that make up a Custom Tag
- Understand the rationale behind the TLD file
- Understand how to make a deployable unit of your Tag Library
- Understand how to deploy a Tag Library in your web applications
- Understand the possible need for further validation of tag usage using TEI and Validators
- How to declare and enable attributes to your tag
- How to declare scripting variables
Session: Introduction to AJAX
Lesson: Introduction to Ajax
- Introduce Ajax and its principles
- Understand the technologies involved
- Understand the architecture of Ajax
- Make a first Ajax enabled web page
- Introduce the W3C XMLHttpRequest (XHR)
- Understand the XHR API and lifecycle
- Discuss security restrictions on Ajax
Lesson: Using XML (Ajax) and JSON (Ajaj)
- Use XML requests and response
- Introduce W3C DOM
- Understand the DOM Levels and browser support
- Use DOM to create and parse XML documents
- Understand and address browser differences in using DOM
- Understand how to use Web Services and REST in conjunction with Ajax
- Introduce JSON
- Ajaj: Receive and use JSON
Lesson: Ajax Technologies and Frameworks
- Ajax Toolkits (Dojo)
- Direct Web Remoting (DWR)
- Understand the DWR architecture
- Understand the workings of DWR
- Configure a Web Application and DWR
- Understand how to use DWR
- Use Java objects as argument and return types
- Advanced DWR configuration