Technology Resources

Home Exam EE 6 Exam EE 5 Java Ranch

 

 

Up

 

Objectives


Section 1: The Servlet Technology Model

  1. For each of the HTTP Methods such as GET, POST, PUT, DELETE, TRACE, CONNECT, HEAD, OPTIONS.
    bulletDescribe the purpose of the method and the technical characteristics of the HTTP Method protocol
    bulletList triggers that might cause a Client (usually a Web browser) to use the method
    bulletIdentify the HttpServlet method that corresponds to the HTTP Method
  2. Using the HttpServletRequest interface, write code to
    bulletretrieve HTML form parameters from the request,
    bulletretrieve HTTP request header information,
    bulletor retrieve cookies from the request.
  3. Using the HttpServletResponse interface, write code to
    bulletset an HTTP response header,
    bulletset the content type of the response,
    bulletacquire a text stream for the response,
    bulletacquire a binary stream for the response,
    bulletredirect an HTTP request to another URL,
    bulletor add cookies to the response.
  4. Describe the purpose and event sequence of the servlet life cycle:
    bulletservlet class loading
    bulletservlet instantiation
    bulletcall the init method
    bulletcall the service method
    bulletcall destroy method


Section 2: The Structure and Deployment of Web Applications

  1. Construct the file and directory structure of a Web Application that
    bulletmay contain
    bulletstatic content
    bulletJSP pages
    bulletservlet classes
    bulletthe deployment descriptor
    bullettag libraries
    bulletJAR files
    bulletJava class files
    bulletdescribe how to protect resource files from HTTP access
  2. Describe the purpose and semantics for each of the deployment descriptor elements:
    bulleterror-page
    bulletinit-param
    bulletmime-mapping
    bulletservlet
    bulletservlet-class
    bulletservlet-mapping
    bulletservlet-name
    bulletwelcome-file
  3. Construct the correct structure for each of the following deployment descriptor elements:
    bulleterror-page
    bulletinit-param
    bulletmime-mapping
    bulletservlet
    bulletservlet-class
    bulletservlet-name
    bulletwelcome-file
  4. Explain the
    bulletpurpose of a WAR file and
    bulletdescribe the contents of a WAR file,
    bullethow one may be constructed.


Section 3: The Web Container Model

  1. For the ServletContext initialization parameters:
    bulletwrite servlet code to access initialization parameters;
    bulletand create the deployment descriptor elements for declaring initialization parameters.
  2. For the fundamental servlet attribute scopes (request, session, and context):
    bulletwrite servlet code to add, retrieve, and remove attributes;
    bulletgiven a usage scenario, identify the proper scope for an attribute;
    bulletand identify multi-threading issues associated with each scope.
  3. Describe the Web container request processing model;
    bulletwrite and configure a filter;
    bulletcreate a request or response wrapper;
    bulletand given a design problem, describe how to apply a filter or a wrapper.
  4. Describe the Web container life cycle event model for requests, sessions, and web applications;
    bulletcreate and configure listener classes for each scope life cycle;
    bulletcreate and configure scope attribute listener classes;
    bulletand given a scenario, identify the proper attribute listener to use.
  5. Describe the RequestDispatcher mechanism;
    bulletwrite servlet code to create a request dispatcher;
    bulletwrite servlet code to forward or include the target resource;
    bulletand identify and describe the additional request-scoped attributes provided by the container to the target resource.


Section 4: Session Management

  1. Write servlet code to
    bulletstore objects into a session object and
    bulletretrieve objects from a session object.
  2. Given a scenario describe the APIs used to
    bulletaccess the session object,
    bulletexplain when the session object was created, and
    bulletdescribe the mechanisms used to destroy the session object, and
    bulletwhen it was destroyed.
  3. Using session listeners,
    bulletwrite code to respond to an event when an object is added to a session, and
    bulletwrite code to respond to an event when a session object migrates from one VM to another.
  4. Given a scenario,
    bulletdescribe which session management mechanism the Web container could employ,
    bullethow cookies might be used to manage sessions,
    bullethow URL rewriting might be used to manage sessions, and
    bulletwrite servlet code to perform URL rewriting.


Section 5: Web Application Security

  1. Based on the servlet specification, compare and contrast the following security mechanisms:
    bullet(a) authentication, (b) authorization, (c) data integrity, and (d) confidentiality.
  2. In the deployment descriptor, declare
    bulleta security constraint, a Web resource, the transport guarantee, the login configuration, and a security role.
  3. Compare and contrast the authentication types:
    bulletBASIC, DIGEST, FORM, and CLIENT-CERT; describe how the type works;
    bulletand given a scenario, select an appropriate type.


Section 6: The JavaServer Pages (JSP) Technology Model

  1. Identify, describe, or write the JSP code for the following elements: (a) template text, (b) scripting elements (comments, directives, declarations, scriptlets, and expressions), (c) standard and custom actions, and (d) expression language elements.
  2. Write JSP code that uses the directives:
    bullet(a) 'page' with attributes 'import', 'session', 'contentType', and 'isELIgnored'
    bullet(b) 'include'
    bullet(c) 'taglib'
  3. Write a JSP Document (XML-based document) that uses the correct syntax.
  4. Describe the purpose and event sequence of the JSP page life cycle: (1) JSP page translation, (2) JSP page compilation, (3) load class, (4) create instance, (5) call the jspInit method, (6) call the _jspService method, and (7) call the jspDestroy method.
  5. Given a design goal, write JSP code using the appropriate implicit objects: (a) request, (b) response, (c) out, (d) session, (e) config, (f) application, (g) page, (h) pageContext, and (i) exception.
  6. Configure the deployment descriptor to declare one or more tag libraries, deactivate the evaluation language, and deactivate the scripting language.
  7. Given a specific design goal for including a JSP segment in another page, write the JSP code that uses the most appropriate inclusion mechanism (the include directive or the jsp:include standard action).


Section 7: Building JSP Pages Using the Expression Language (EL)

  1. Given a scenario, write EL code that accesses the following implicit variables including
    bulletpageScope, requestScope, sessionScope, and applicationScope, param and paramValues, header and headerValues, cookie, initParam and pageContext.
  2. Given a scenario, write EL code that uses the following operators: property access (the . operator), collection access (the [] operator).


Section 8: Building JSP Pages Using Standard Actions

  1. Given a design goal, create a code snippet using the following standard actions: jsp:useBean (with attributes: 'id', 'scope', 'type', and 'class'), jsp:getProperty, jsp:setProperty (with all attribute combinations), and jsp:attribute.
  2. Given a design goal, create a code snippet using the following standard actions: jsp:include, jsp:forward, and jsp:param.


Section 9: Building JSP Pages Using Tag Libraries

  1. For a custom tag library or a library of Tag Files, create the 'taglib' directive for a JSP page.
  2. Given a design goal, create the custom tag structure in a JSP page to support that goal.
  3. Given a design goal, use an appropriate JSP Standard Tag Library (JSTL v1.1) tag from the "core" tag library.


Section 10: Building a Custom Tag Library

  1. Describe the semantics of the "Classic" custom tag event model when each event method (doStartTag, doAfterBody, and doEndTag) is executed,
    bulletand explain what the return value for each event method means;
    bulletand write a tag handler class.
  2. Using the PageContext API, write tag handler code to access the JSP implicit variables and access web application attributes.
  3. Given a scenario, write tag handler code to access the parent tag and an arbitrary tag ancestor.
  4. Describe the semantics of the "Simple" custom tag event model when the event method (doTag) is executed;
    bulletwrite a tag handler class;
    bulletand explain the constraints on the JSP content within the tag.
  5. Describe the semantics of the Tag File model;
    bulletdescribe the web application structure for tag files;
    bulletwrite a tag file;
    bulletand explain the constraints on the JSP content in the body of the tag.


Section 11: Java EE Patterns

  1. Given a scenario description with a list of issues, select a pattern that would solve the issues. The list of patterns you must know are:
    bulletIntercepting Filter
    bulletModel-View-Controller
    bulletFront Controller
    bulletService Locator
    bulletBusiness Delegate
    bulletTransfer Object
  2. Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns:
    bulletIntercepting Filter
    bulletModel-View-Controller
    bulletFront Controller
    bulletService Locator
    bulletBusiness Delegate
    bulletTransfer Object

Last Modified: November 17, 2011