This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Here is a text dump of the proposed objectives. It is dumped from a doc file so the ? stand for bullet points.
Section 1: The Servlet Model 1.1 For each of the HTTP methods, GET, POST, and PUT, identify the corresponding method in the HttpServlet class. 1.2 For each of the HTTP methods, GET, POST, and HEAD, identify triggers that might cause a browser to use the method , and identify benefits or functionality of the method. 1.3 For each of the following operations, identify the interface and method name that should be used: ? Retrieve HTML form parameters from the request ? Retrieve a servlet initialization parameter ? Retrieve HTTP request header information ? Set an HTTP response header;Set the content type of the response ? Acquire a text stream for the response ? Acquire a binary stream for the response ? Redirect an HTTP request to another URL
1.4 Identify the interface and method to access values and resources and to set object attributes within the following three Web scopes: ? request ? session ? context 1 1.5 Given a life-cycle method: init, service, or destroy, identify correct statements about its purpose or about how and when it is invoked. 1.6 Use a RequestDispatcher to include or forward to a web resource. 1 Section 2: The Structure and Deployment of Modern Servlet Web Applications 2.1 Identify the structure of a Web Application and Web Archive file, the name of the WebApp deployment descriptor, and the name of the directories where you place the following: ? the WebApp deployment descriptor ? the WebApp class files ? any auxiliary JAR files 2.2 Match the name with a description of purpose or functionality, for each of the following deployment descriptor elements: ? Servlet instance ? Servlet name ? Servlet class ? Initialization parameters ? URL to named servlet mapping
Section 3: The Servlet Container Model 3.1 Identify the uses for and the interfaces (or classes) and methods to achieve the following features: ? servlet context init. parameters ? servlet context listener ? servlet context attribute listener ? session attribute listeners
3.2 Identify the WebApp deployment descriptor element name that declares the following features: ? servlet context init. parameters ? servlet context listener ? servlet context attribute listener ? session attribute listeners 3.3 Distinguish the behavior of the following in a distributable: ? servlet context init. parameters ? servlet context listener ? servlet context attribute listener ? session attribute listeners Section 4: Designing and Developing Servlets to Handle Server-side Expectations 4.1 For each of the following cases, identify correctly constructed code for handling business logic exceptions, and match that code with correct statements about the code's behavior: Return an HTTP error using the sendError response method; Return an HTTP error using the setStatus method; 4.2 Given a set of business logic exceptions, identify the following: The configuration that the deployment descriptor uses to handle each exception; How to use a RequestDispatcher to forward the request to an error page; Specify the handling declaratively in the deployment descriptor; 4.3 Identify the method used for the following: Write a message to the WebApp log; Write a message and an exception to the WebApp log
Section 5: Designing and Developing Servlets Using Session Management 5.1 Identify the interface and method for each of the following: ? Retrieve a session object across multiple requests to the same or different servlets within the same WebApp ? Store objects into a session object ? Retrieve objects from a session object ? Respond to the event when a particular object is added to a session ? Respond to the event when a session is created and destroyed ? Expunge a session object 5.2 Given a scenario, state whether a session object will be invalidated. 1 5.3 Given that URL-rewriting must be used for session management, identify the design requirement on session-related HTML pages.
Section 6: Designing and Developing Secure Web Applications 6.1 Identify correct descriptions or statements about the security issues: ? authentication, authorization ? data integrity ? auditing ? malicious code ? Web site attacks 6.2 Identify the deployment descriptor element names, and their structure, that declare the following: ? a security constraint ? a Web resource ? the login configuration ? a security role 6.3 Given an authentication type: BASIC, DIGEST, FORM, and CLIENT-CERT, identify the correct definition of its mechanism. Section 7: Designing and Developing Thread-safe Servlets 7.1 Identify which attribute scopes are thread-safe: ? local variables ? instance variables ? class variables ? request attributes ? session attributes ? context attributes 7.2 Identify correct statements about differences between the multi-threaded and single-threaded servlet models. 7.3 Identify the interface used to declare that a servlet must use the single thread model. Section 8: The JSP Model 8.1 Write the opening and closing tags for the following JSP tag types: ? directive ? declaration ? scriptlet ? expression
8.2 Given a type of JSP tag, identify correct statements about its purpose or use. 8.3 Given a JSP tag type, identify the equivalent XML-based tags. 8.4 Identify the page directive attributes and its values, that: ? Imports a Java class into the JSP page ? declares that a JSP page exists within a session ? declares that a JSP page uses an error page ? declares that a JSP page is an error page 8.5 Identify and put in sequence the following elements of the JSP lifecycle: ? Page translation ? JSP compilation ? Load class ? Create instance; ? Call jspInit; ? Call _jspService; ? Call jspDestroy 8.6 Match correct descriptions about purpose, function, or use with any of the following implicit objects: ? request ? response ? out ? session ? config ? application ? page ? pageContext ? exception
8.7 Distinguish correct and incorrect scriptlet code for: ? a conditional statement; ? an iteration statement
Section 9: Designing and Developing Reusable Web Components 9.1 Given a description of required functionality, identify the JSP directive or standard tag in the correct format with the correct attributes required to specify the inclusion of a Web component into the JSP page Section 10: Designing and Developing JSPs Using JavaBeans 10.1 For any of the following tag functions, match the correctly constructed tag, with attributes and values as appropriate, with the corresponding description of the tag's functionality: ? Declare the use of a JavaBean within the page. ? Specify, for jsp:useBean or jsp:getProperty tags, the name of an attribute. ? Specify, for a jsp:useBean tag, the class of the attribute. ? Specify, for a jsp:useBean tag, the scope of the attribute. ? Access or mutate a property from a declared JavaBean. ? Specify, for a jsp:getProperty tag, the property of the attribute. ? Specify, for a jsp:setProperty tag, the property of the attribute to mutate, and the new value. 10.2 Given JSP attribute scopes: request, session, application, identify the equivalent servlet code. 10.3 Identify techniques that access a declared JavaBean. Section 11: Designing and Developing JSPs Using Custom Tags 11.1 Identify properly formatted tag library declarations in the Web application deployment descriptor. 11.2 Identify properly formatted taglib directive in a JSP page. 11.3 Given a custom tag library, identify properly formatted custom tag usage in a JSP page. Uses include: ? an empty custom tag ? a custom tag with attributes ? a custom tag that surrounds other JSP code ? nested custom tags
Section 12: Designing and Developing A Custom Tab Library 12.1 Identify the tag library descriptor element names that declare the following: ? the name of the tag ? the class of the tag handler ? the type of content that the tag accepts ? any attributes of the tag 12.2 Identify the tag library descriptor element names that declare the following: ? the name of a tag attribute ? whether a tag attribute is required ? whether or not the attribute's value can be dynamically specified 12.3 Given a custom tag, identify the necessary value for the bodycontent TLD element for any of the following tag types: ? empty-tag ? custom tag that surrounds other JSP code ? custom tag that surrounds content that is used only by the tag handler 12.4 Given a tag event method (doStartTag, doAfterBody, and doEndTag), identify the correct description of the methods trigger.
12.5 Identify valid return values for the following methods: ? doStartTag ? doAfterBody ? doEndTag ? PageConext.getOut 12.6 Given a "BODY" or "PAGE" constant, identify a correct description of the constant's use in the following methods: ? doStartTag ? doAfterBody ? doEndTag 12.7 Identify the method in the custom tag handler that accesses: ? a given JSP implicit variable ? the JSP page's attributes 12.8 Identify methods that return an outer tag handler from within an inner tag handler. Section 13: 13.1 Given a scenario description with a list of issues, select the design pattern (Value Objects, MVC, Data Access Object or Business Delegate) that would best solve those issues. 13.2 Match design patterns with statements describing potential benefits that accrue from the use of the pattern, for any of the following patterns: ? Value Objects ? MVC ? Data Access Object ? Business Delegate
The exam is in beta so about 250 people on the planet have taken it so the chance of finding mock exams is a bit slim. I suggest you get some people together to start writing your own mock exams and encourage others to do so. Marcus