OCEWD

Topics

Main things added in Java EE 6 vs 1.5 (from views expressed on JavaRanch):

  • Annotations (servlet, filter and listener annotations, @Resource, @PersistenceContext)
  • Web-fragments
  • Asynchronous Support
  • multipart (file upload)
  • From Servlet 3.0 specification must read sections/chapters are:
    • 2.3.3.3 Asynchronous Processing
    • 8 Annotations and Pluggability
    • 13.4.1 @ServletSecurity annotation

Enthuware says these are new topics: annotations, asynchronous API, Multipart, Dynamic Registration, MVC, JPA, and CGI.

Overlap of topics due to less than ideal organisation of objectives:

  • Servlets: 1.3 and 4.3, 4.3 and 9.1, 4.3 and 9.2
  • JSP: 2.2 and 7.1, 2.2 and 8.1
  • MVC: 1.5 and 2.3 and 3.5

1. Introduction to Java Servlets

  1. Describe web applications, CGI, and the role of Java
  2. Describe benefits of Java servlet technology
  3. Create a simple Java Servlet
  4. Define three-tier architecture
  5. Define Model-View-Controller (MVC) architecture
  6. Other Design Patterns (not listed on objectives)

2. Introduction to Java Server Pages

  1. Describe why Servlets are not the whole solution
  2. Describe essentials of JSPs
  3. Understand the fundamentals and reasons for MVC architecture

3. Implementing an MVC Design

  1. Code a controller using a servlet
  2. Code a view using a JSP
  3. Forward control from a servlet to a JSP
  4. Understand fundamentals of EL
  5. Implement a simple MVC system

4. The servlet's environment

  1. Understand more details of the HTTP protocol
  2. Understand fundamentals of HTML forms
  3. Understand fundamentals of the HttpServlet and related APIs
  4. Write code that manages client sessions and cookies

5. Container facilities for servlets and JSPs

  1. Understand the purpose and structure of deployment descriptors
  2. Control context root and servlet mapping
  3. Create and use context and init parameters
  4. Use annotations to configure servlets
  5. Web fragments (not listed on objectives)
  6. Programmatic registration of servlets (not listed on objectives)

6. More view facilities

  1. Understand the four data scopes
  2. Understand and use EL dot and array access operators with Java Beans, arrays, and collections
  3. Understand and use EL implicit objects
  4. Create and use arithmetic expressions in EL
  5. Identify the need for iteration and selection in the view, and use JSTL tags to address those needs

7. Developing JSP pages

  1. Understand the origins, benefits, and weaknesses of JSPs
  2. Describe JSP technology, the conversion of JSPs to servlets, and the lifecycle of JSPs
  3. Understand JSP scripting elements, declarations and directives
  4. Use JSP implicit variables
  5. Understand and use jsp: tags

8. Developing JSP pages using custom tags

  1. Relate the JSTL to common job roles in web application development and understand the use of tags in JSP development
  2. Recognize correct syntax for tags
  3. Configure a JSP to use tags from the JSTL
  4. Write JSP code using several standard tags
  5. List capabilities of JSTL tags

9. More Controller facilities

  1. Understand the servlet lifecycle
  2. Describe and use more advanced elements of the servlet APIs
  3. Create filters and use them in web applications
  4. File Upload / multipart (not listed in objectives)
  5. Listeners (not listed in objectives)

10. More options for the Model

  1. Understand the roles of JDBC and JPA
  2. Understand the many elements that make up the model
  3. Understand fundamentals of connecting to a database using JDBC or JPA

11. Asynchronous web applications

  1. Understand the interactions that are essential to asynchronous web pages
  2. Understand the role of AJAX-style client side programming
  3. Implement asynchronous servlets using the facilities of Java EE 6

12. Web application security

  1. Understand the role of the container in security
  2. Describe and implement four authentication models
  3. Force the use of encryption between a web application and the client browser
  4. Understand the role of JAAS in pluggable/extensible authentication for web applications
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License