SCWCD(310-083) 1~50

本文探讨了JSP及Web开发中的关键概念和技术细节,包括JSP文档格式、脚本与标签库的使用、会话管理、过滤器、监听器等高级特性,并介绍了如何处理国际化、安全性配置等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Q: 1 To take advantage of the capabilities of modern browsers that use web
standards, such as XHTML and CSS, your web application is being converted from simple JSP pages to
JSP Document format. However, one of your JSPs, /scripts/screenFunctions.jsp, generates a JavaScript
file. This file is included in several web forms to create screen-specific validation functions and are
included in these pages with the following statement:
10. <head>
11. <script src='/scripts/screenFunctions.jsp'
12. language='javascript'
13. type='application/javascript'> </script>
14. </head>
15. <!-- body of the web form -->
Which JSP code snippet declares that this JSP Document is a JavaScript file?
A. <%@ page contentType='application/javascript' %>
B. <jsp:page contentType='application/javascript' />
C. <jsp:document contentType='application/javascript' />
D. <jsp:directive.page contentType='application/javascript' />
E. No declaration is needed because the web form XHTML page already declares the MIME type of the
/scripts/screenFunctions.jsp file in the <script> tag.
Answer: D
解释:JSP Document 使用XML标签表达的JSP。page 指令表示为<jsp:directive.page >

Q: 2 Given the JSP code:
10. <html>
11. <body>
12. <jsp:useBean id='customer' class='com.example.Customer' />
13. Hello, ${customer.title} ${customer.lastName}, welcome
14. to Squeaky Beans, Inc.
15. </body>
16. </html>
Which three types of JSP code are used? (Choose three.)
A.Java code
B.template text
C.scripting code
D.standard action
E.expression language
Answer: B, D, E
解析:<html>...template text 模板文本
<jsp:useBean...>standard action 标准动作
${...}expression language EL表达式

Q: 3 You have built a collection of custom tags for your web application. The TLD
file is located in the file: /WEB-INF/myTags.xml. You refer to these tags in your JSPs using the symbolic
name: myTags. Which deployment descriptor element must you use to make this link between the
symbolic name and the TLD file name?
A. <taglib>
<name>myTags</name>
<location>/WEB-INF/myTags.xml</location>
</taglib>
B. <tags>
<name>myTags</name>
<location>/WEB-INF/myTags.xml</location>
</tags>
C. <tags>
<tags-uri>myTags</taglib-uri>
<tags-location>/WEB-INF/myTags.xml</tags-location>
</tags>
D. <taglib>
<taglib-uri>myTags</taglib-uri>
<taglib-location>/WEB-INF/myTags.xml</taglib-location>
</taglib>
Answer: D
解析:部署描述链接标签名和实际文件名。

Q: 4 Which implicit object is used in a JSP page to retrieve values associated with
<context-param> entries in the deployment descriptor?
A.config
B.request
C.session
D.application
Answer: D
解析:<context-param>内的值为application范围内的参数。

Q:5

解析:左边答案,右边选择。


Q:6
解析:
<%@include file=“ ”%>转译时与该页面一起翻译成java代码;
<jsp:include  page=“ “/>动作是在请求时,装入该page所指页面。
 
Q: 7 You have created a JSP that includes instance variables and a great deal of
scriptlet code. Unfortunately, after extensive load testing, you have discovered several race conditions in
your JSP scriptlet code. To fix these problems would require significant recoding, but you are already
behind schedule. Which JSP code snippet can you use to resolve these concurrency problems?
A.<%@ page isThreadSafe='false' %>
B.<%@ implements SingleThreadModel %>
C.<%! implements SingleThreadModel %>
D.<%@ page useSingleThreadModel='true' %>
E.<%@ page implements='SingleThreadModel' %>
Answer: A
解析:声明页面线程不安全。

Q: 8 Click the Exhibit button.
The attribute "name" has a value of "Foo,"
What is the result if this tag handler's tag is invoked?
public class MyTagHandler extends TagSupport{
    public int doStartTag()throws JspException{
        try{
            Writer our=pageContext.getResponse().getWriter();
            String name=pageContext.findAttribute("name");
            out.print(name);
        }catch(Exception ex){
            /*handle exception */
        }
        return SKIP_BODY;
    }

        public int doAfterBody()throws JspException{
            try{
                Writer out=pageContext.getResponse().gerWrite();
                out.println("done");
            }catch(Exception ex){
            /*handle exception*/
        }
        return EVAL_PAGE;
        }
        //...
    }
A.Foo
B.done
C.Foodone
D.An exception is thrown at runtime.
E.No output is produced from this code.
F.Compilation fails because of an error in this code.
Answer: A
解析:doStartTag()返回SKIP_BODY,所以跳过标签体的内容,即不再执行doAfterBody()

Q: 9 You are building a web application that will be used throughout the
European Union; therefore, it has significant internationalization requirements. You have been tasked to
create a custom tag that generates a message using the java.text.MessageFormat class. The tag will take
the resourceKey attribute and a variable number of argument attributes with the format, arg<N>. Here
is an example use of this tag and its output:
<t:message resourceKey='diskFileMsg' arg0='MyDisk' arg1='1247' />
generates:
The disk "MyDisk" contains 1247 file(s).
Which Simple tag class definition accomplishes this goal of handling a variable number of tag attributes?
A. public class MessageTag extends SimpleTagSupport
implements VariableAttributes {
private Map attributes = new HashMap();
public void setVariableAttribute(String uri,
String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
B. The Simple tag model does NOT support a variable number of attributes.
C. public class MessageTag extends SimpleTagSupport
implements DynamicAttributes {
private Map attributes = new HashMap();
public void putAttribute(String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
D. public class MessageTag extends SimpleTagSupport
implements VariableAttributes {
private Map attributes = new HashMap();
public void putAttribute(String name, Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
E. public class MessageTag extends SimpleTagSupport
implements DynamicAttributes {
private Map attributes = new HashMap();
public void setDynamicAttribute(String uri, String name,
Object value) {
this.attributes.put(name, value);
}
// more tag handler methods
}
Answer: E
解析:动态属性实现DynamicAttributes接口,重写setDynamicAttributes方法。

Q: 10 Given the JSP code:
<% request.setAttribute("foo", "bar"); %>
and the Classic tag handler code:
5. public int doStartTag() throws JspException {
6. // insert code here
7. // return int
8. }
Assume there are no other "foo" attributes in the web application.
Which invocation on the pageContext object, inserted at line 6, assigns "bar" to the variable x?
A. String x = (String) pageContext.getAttribute("foo");
B. String x = (String) pageContext.getRequestScope("foo");
C. It is NOT possible to access the pageContext object from within doStartTag.
D. String x = (String)pageContext.getRequest().getAttribute("foo");
E. String x = (String) pageContext.getAttribute("foo",PageContext.ANY_SCOPE);
Answer: D
解析:

属性存放在请求域中,从上下文中获得请求,再获得属性值。

setAttribute (java.lang.String name, java.lang.Object value)


Q: 11 Which two statements about tag files are true? (Choose two.)
A. Classic tag handlers and tag files CANNOT reside in the same tag library.
B. A file named foo.tag, located in /WEB-INF/tags/bar, is recognized as a tag file by the container.
C. A file named foo.tag, bundled in a JAR file but NOT defined in a TLD, triggers a container translation
error.
D. A file named foo.tag, located in a web application's root directory, is recognized as a tag file by the
container.
E. If files foo1.tag and foo2.tag both reside in /WEB-INF/tags/bar, the container will consider them part of the
same tag library.
Answer: B, E

解析:
C.不会出现错误而是会忽略。

D.tag文件要放在/WEB-INF/tags/目录下


Q: 12 The sl:shoppingList and sl:item tags output a shopping list to the response
and are used as follows:
11. <sl:shoppingList>
12. <sl:item name="Bread" />
13. <sl:item name="Milk" />
14. <sl:item name="Eggs" />
15. </sl:shoppingList>
The tag handler for sl:shoppingList is ShoppingListTag and the tag handler for sl:item is
ItemSimpleTag.
ShoppingListTag extends BodyTagSupport and ItemSimpleTag extends SimpleTagSupport.
Which is true?
A. ItemSimpleTag can find the enclosing instance of ShoppingListTag by calling getParent() and casting the
result to ShoppingListTag.
B. ShoppingListTag can find the child instances of ItemSimpleTag by calling super.getChildren() and casting
each to an ItemSimpleTag.
C. It is impossible for ItemSimpleTag and ShoppingListTag to find each other in a tag hierarchy because one is
a Simple tag and the other is a Classic tag.
D. ShoppingListTag can find the child instances of ItemSimpleTag by calling getChildren() on the
PageContext and casting each to an ItemSimpleTag.
E. ItemSimpleTag can find the enclosing instance of ShoppingListTag by calling findAncestorWithClass() on
the PageContext and casting the result to ShoppingListTag.
Answer: A
解析:
SimpleTagSupport extends java.lang.Object implements SimpleTag
BodyTagSupport extends TagSupport implements BodyTag
ItemSimpleTag继承SimpleTagSupport类,而SimpleTagSupport继承Object类所以可以转型为ShoppingListTag

Q: 13 Servlet A receives a request that it forwards to servlet B within another web
application in the same web container. Servlet A needs to share data with servlet B and that data must
not be visible to other servlets in A's web application. In which object can the data that A shares with B
be stored?
A. HttpSession
B. ServletConfig
C. ServletContext
D. HttpServletRequest
E. HttpServletResponse
Answer: D
解析:Servlet A接收并请求共享数据,而Servlet A所在的项目不能访问共享数据,所以使用请求域共享.

Q: 14 Your web site has many user-customizable features, for example font and
color preferences on web pages. Your IT department has already built a subsystem for user preferences
using the Java SE platform's lang.util.prefs package APIs, and you have been ordered to reuse this
subsystem in your web application. You need to create an event listener that constructs the preferences
factory and stores it in the application scope for later use. Furthermore, this factory requires that the
URL to a database must be declared in the deployment descriptor like this:
42. <context-param>
43. <param-name>prefsDbURL</param-name>
44. <param-value>
45.
jdbc:pointbase:server://dbhost:4747/prefsDB
46. </param-value>
47. </context-param>
Which partial listener class will accomplish this goal?
A. public class PrefsFactoryInitializer implements ContextListener {
public void contextInitialized(ServletContextEvent e) {
ServletContext ctx = e.getContext();
String prefsURL = ctx.getParameter("prefsDbURL");
PreferencesFactory myFactory = makeFactory(prefsURL);
ctx.putAttribute("myPrefsFactory", myFactory);
}
// more code here
}
B. public class PrefsFactoryInitializer implements ServletContextListener {
public void contextCreated(ServletContext ctx) {
String prefsURL = ctx.getInitParameter("prefsDbURL");
PreferencesFactory myFactory = makeFactory(prefsURL);
ctx.setAttribute("myPrefsFactory", myFactory);
}
// more code here
}
C. public class PrefsFactoryInitializer implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
ServletContext ctx = e.getServletContext();
String prefsURL = ctx.getInitParameter("prefsDbURL");
PreferencesFactory myFactory = makeFactory(prefsURL);
ctx.setAttribute("myPrefsFactory", myFactory);
}
// more code here
}
D. public class PrefsFactoryInitializer implements ContextListener {
public void contextCreated(ServletContext ctx) {
String prefsURL = ctx.getParameter("prefsDbURL");
PreferencesFactory myFactory = makeFactory(prefsURL);
ctx.putAttribute("myPrefsFactory", myFactory);
}
// more code here
}
Answer: C
解析:没有ContextListener接口,
ServletContextListener接口只有两个方法contextDestroyed,contextInitialized.


Q: 15 A developer wants a web application to be notified when the application is
about to be shut down. Which two actions are necessary to accomplish this goal? (Choose two.)
A.include a listener directive in a JSP page
B.configure a listener in the TLD file using the <listener> element
C.include a <servlet-destroy> element in the web application deployment descriptor
D.configure a listener in the application deployment descriptor, using the <listener> element
E.include a class implementing ServletContextListener as part of the web application deployment
F.include a class implementing ContextDestroyedListener as part of the web application deployment
G.include a class implementing HttpSessionAttributeListener as part of the web application deployment
Answer: D, E
解析:部署文件部署监听器,写一个监听器实现ServletContextListener接口。
F选项的接口不存在,G选项的HttpSessionAttributeListener接口是监听会话中的属性状态,而不是项目的状态。


Q: 16 You want to create a filter for your web application and your filter will
implement javax.servlet.Filter.
Which two statements are true? (Choose two.)
A. Your filter class must implement an init method and a destroy method.
B. Your filter class must also implement javax.servlet.FilterChain.
C. When your filter chains to the next filter, it should pass the same arguments it received in its doFilter
method.
D. The method that your filter invokes on the object it received that implements javax.servlet.FilterChain can
invoke either another filter or a servlet.
E. Your filter class must implement a doFilter method that takes, among other things, an HTTPServletRequest
object and an HTTPServletResponse object.
Answer: A, D
解析:
B.不用实现FilterChain接口(但是要导入)。
C.不一定传递接受内容。
E.实现doFilter(ServletRequest arg0,ServletResponse arg1,FilterChain arg2)

Q: 17 Which three are true about the HttpServletRequestWrapper class? (Choose
three.)
A. The HttpServletRequestWrapper is an example of the Decorator pattern.
B. The HttpServletRequestWrapper can be used to extend the functionality of a servlet request.
C. A subclass of HttpServletRequestWrapper CANNOT modify the behavior of the getReader method.
D. An HttpServletRequestWrapper may be used only by a class implementing the javax.servlet.Filter interface.
E. An HttpServletRequestWrapper CANNOT be used on the request passed to the RequestDispatcher.include
method.
F. An HttpServletRequestWrapper may modify the header of a request within an object implementing the
javax.servlet.Filter interface.
Answer: A, B, F

解析:HttpServletRequestWrapper用于过滤请求

Q: 18 Click the Exhibit button.
The resource requested by the RequestDispatcher is available and implemented by the
DestinationServlet.
//From file SourceServlet.java
public class SourceServlet extends HttpServlet{
    public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
        ServletContext cxt=getServletConfig().getServletContext();
        RequestDispatcher rd=cxt.getRequestDispatcher("/destn");
        response.getWriter().println("hello from source");
        response.flushBuffer();
        rd.forward(request,response);
    }
}
//From file DestinationServlet.java
public class DestinationServlet extends HttpServlet{
    public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
        response.getWriter().println("hello from dest");
        response.flushBuffer();
    }
}
What is the result?
A.An exception is thrown at runtime by SourceServlet.
B.An exception is thrown at runtime by DestinationServlet.
C.Only "hello from dest" appears in the response output stream.
D.Both "hello from source" and "hello from dest" appear in the response output stream.

Answer: A

解析:response.flushBuffer已经committed(提交),在forward会抛出异常。


Q: 19 A developer wants to make a name attribute available to all servlets
associated with a particular user, across multiple requests from that user, from the same browser
instance.
Which two provide this capability from within a tag handler? (Choose two.)
A. pageContext.setAttribute("name", theValue);
B. pageContext.setAttribute("name", getSession());
C. pageContext.getRequest().setAttribute("name", theValue);
D. pageContext.getSession().setAttribute("name", theValue);
E. pageContext.setAttribute("name", theValue,
PageContext.PAGE_SCOPE);
F. pageContext.setAttribute("name", theValue,
PageContext.SESSION_SCOPE);
Answer: D, F
解析:A、B没有设定属性域。混合的请求的所以servlet可以访问参数,所以D、F正确

Q: 20 Given the definition of MyServlet:
11. public class MyServlet extends HttpServlet {
12. public void service(HttpServletRequest request,
13. HttpServletResponse response)
14. throws ServletException, IOException {
15. HttpSession session = request.getSession();
16. session.setAttribute("myAttribute","myAttributeValue");
17. session.invalidate();
18. response.getWriter().println("value=" +
19. session.getAttribute("myAttribute"));
20. }
21. }
What is the result when a request is sent to MyServlet?
A.An IllegalStateException is thrown at runtime.
B.An InvalidSessionException is thrown at runtime.
C.The string "value=null" appears in the response stream.
D.The string "value=myAttributeValue" appears in the response stream.
Answer: A
解析:会话无效化后在调用,就会抛出IllegalStateException

Q: 21 You need to store a Java long primitive attribute, called customerOID, into
the session scope. Which two code snippets allow you to insert this value into the session? (Choose two.)
A. long customerOID = 47L;
session.setAttribute("customerOID", new Long(customerOID));
B. long customerOID = 47L;
session.setLongAttribute("customerOID", new Long(customerOID));
C. long customerOID = 47L;
session.setAttribute("customerOID", customerOID);
D. long customerOID = 47L;
session.setNumericAttribute("customerOID", new Long(customerOID));
E. long customerOID = 47L;
session.setLongAttribute("customerOID", customerOID);
F. long customerOID = 47L;
session.setNumericAttribute("customerOID", customerOID);
Answer: A, C
解析:HttpSession没有setLongAttribute和setNumericAttribute

Q: 22 A developer for the company web site has been told that users may turn off
cookie support in their browsers. What must the developer do to ensure that these customers can still use
the web application?
A. The developer must ensure that every URL is properly encoded using the appropriate URL rewriting APIs.
B. The developer must provide an alternate mechanism for managing sessions and abandon the HttpSession
mechanism entirely.
C. The developer can ignore this issue. Web containers are required to support automatic URL rewriting when
cookies are not supported.
D. The developer must add the string id=<sessionid> to the end of every URL to ensure that the conversation
with the browser can continue.
Answer: A
解析:cookie禁用使用适当的URL重写方法,D是重新方法的原理

Q: 23 Your web application requires the adding and deleting of many session
attributes during a complex use case. A bug report has come in that indicates that an important session
attribute is being deleted too soon and a NullPointerException is being thrown several interactions after
the fact. You have decided to create a session event listener that will log when attributes are being deleted
so you can track down when the attribute is erroneously being deleted.
Which listener class will accomplish this debugging goal?
A. Create an HttpSessionAttributeListener class and implement the attributeDeleted method and log the
attribute name using the getName method on the event object.
B. Create an HttpSessionAttributeListener class and implement the attributeRemoved method and log the
attribute name using the getName method on the event object.
C. Create an SessionAttributeListener class and implement the attributeRemoved method and log the attribute
name using the getAttributeName method on the event object.
D. Create an SessionAttributeListener class and implement the attributeDeleted method and log the attribute
name using the getAttributeName method on the event object.
Answer: B
解析:HttpSessionAttributeListener只有attributeAdded,attributeRemoved和attributeReplaced三个方法。

Q: 24 As a convenience feature, your web pages include an Ajax request every five
minutes to a special servlet that monitors the age of the user's session. The client-side JavaScript that
handles the Ajax callback displays a message on the screen as the session ages. The Ajax call does NOT
pass any cookies, but it passes the session ID in a request parameter called sessionID. In addition, assume
that your webapp keeps a hashmap of session objects by the ID. Here is a partial implementation of this
servlet:
10. public class SessionAgeServlet extends HttpServlet {
11. public void service(HttpServletRequest request, HttpServletResponse) throws IOException {
12. String sessionID = request.getParameter("sessionID");
13. HttpSession session = getSession(sessionID);
14. long age = // your code here
15. response.getWriter().print(age);
16. } ... // more code here
47. }
Which code snippet on line 14, will determine the age of the session?
A.session.getMaxInactiveInterval();
B.session.getLastAccessed().getTime() - session.getCreationTime().getTime();
C.session.getLastAccessedTime().getTime() - session.getCreationTime().getTime();
D.session.getLastAccessed() - session.getCreationTime();
E.session.getMaxInactiveInterval() - session.getCreationTime();
F.session.getLastAccessedTime() - session.getCreationTime();
Answer: F
解析:最后访问时间-创建时间()

Q:25
 Which statement is true about web container session management?
A. Access to session-scoped attributes is guaranteed to be thread-safe by the web container.
B. To activate URL rewriting, the developer must use the HttpServletResponse.setURLRewriting method.
C. If the web application uses HTTPS, then the web container may use the data on the HTTPS request stream
to identify the client.
D. The JSESSIONID cookie is stored permanently on the client so that a user may return to the web
application and the web container will rejoin that session.
Answer: C
解析:
A.访问会话域的属性不是线程安全的(有可能并发)B.URL重新用HttpServletResponse.encodeURL(或encodeRedirectURL)
D.JSESSIONID是禁用cookie时,URL重写产生的,而且不是永久的。

Q: 26
 One of the use cases in your web application uses many session-scoped
attributes. At the end of the use case, you want to clear out this set of attributes from the session object.
Assume that this static variable holds this set of attribute names:
201. private static final Set<String> USE_CASE_ATTRS;
202. static {
203. USE_CASE_ATTRS.add("customerOID");
204. USE_CASE_ATTRS.add("custMgrBean");
205. USE_CASE_ATTRS.add("orderOID");
206. USE_CASE_ATTRS.add("orderMgrBean");
207. }
Which code snippet deletes these attributes from the session object?
A. session.removeAll(USE_CASE_ATTRS);
B. for ( String attr : USE_CASE_ATTRS ) {
session.remove(attr);
}
C. for ( String attr : USE_CASE_ATTRS ) {
session.removeAttribute(attr);
}
D. for ( String attr : USE_CASE_ATTRS ) {
session.deleteAttribute(attr);
}
E. session.deleteAllAttributes(USE_CASE_ATTRS);
Answer: C
解析:删除HttpSession会话的属性用removeAttribute

Q: 27
Assume that a news tag library contains the tags lookup and item:
lookup
Retrieves the latest news headlines and executes the tag body once for each headline.
Exposes a NESTED page-scoped attribute called headline of type com.example.Headline containing
details for that headline.
item
Outputs the HTML for a single news headline. Accepts an attribute info of type
com.example.Headline containing details for the headline to be rendered.
Which snippet of JSP codereturns the latest news headlines in an HTML table, one per row?
A. <table>
<tr>
<td>
<news:lookup />
<news:item info="${headline}" />
</td>
</tr>
</table>
B. <news:lookup />
<table>
<tr>
<td><news:item info="${headline}" /></td>
</tr>
</table>
C. <table>
<news:lookup>
<tr>
<td><news:item info="${headline}" /></td>
</tr>
</news:lookup>
</table>
D. <table>
<tr>
<news:lookup>
<td><news:item info="${headline}" /></td>
</news:lookup>
</tr>
</table>
Answer: C
解析:
标签lookup获得最近的新闻标题并执行标签体的内容,显示页面域的标题内容。
标签item获取并输出新闻标题的页面。

Q: 28 Which JSTL code snippet can be used to perform URL rewriting?
A.<a href='<c:url url="foo.jsp"/>' />
B.<a href='<c:link url="foo.jsp"/>' />
C.<a href='<c:url value="foo.jsp"/>' />
D.<a href='<c:link value="foo.jsp"/>' />
Answer: C
解析:JSTL的URL重新格式<c:url value="">

Q: 29 Assume the scoped attribute priority does NOT yet exist. Which two create
and set a new request-scoped attribute priority to the value "medium"? (Choose two.)
A.${priority = 'medium'}
B.${requestScope['priority'] = 'medium'}
C.<c:set var="priority" value="medium" />
D.<c:set var="priority" scope="request">medium</c:set>
E.<c:set var="priority" value="medium" scope="request" />
F.<c:set property="priority" scope="request">medium</c:set>
G.<c:set property="priority" value="medium" scope="request" />
Answer: D, E
解析:JSTL设置属性的两种方式

Q: 30 You are creating a JSP page to display a collection of data. This data can be
displayed in several different ways so the architect on your project decided to create a generic servlet that
generates a comma-delimited string so that various pages can render the data in different ways. This
servlet takes on request parameter: objectID. Assume that this servlet is mapped to the URL pattern:
/WEB-INF/data.
In the JSP you are creating, you need to split this string into its elements separated by commas and
generate an HTML <ul> list from the data.
Which JSTL code snippet will accomplish this goal?
A. <c:import varReader='dataString' url='/WEB-INF/data'>
<c:param name='objectID' value='${currentOID}' />
</c:import>
<ul>
<c:forTokens items'${dataString.split(",")}' var='item'>
<li>${item}</li>
</c:forTokens>
</ul>
B. <c:import varReader='dataString' url='/WEB-INF/data'>
<c:param name='objectID' value='${currentOID}' />
</c:import>
<ul>
<c:forTokens items'${dataString}' delims=',' var='item'>
<li>${item}</li>
</c:forTokens>
</ul>
C. <c:import var='dataString' url='/WEB-INF/data'>
<c:param name='objectID' value='${currentOID}' />
</c:import>
<ul>
<c:forTokens items'${dataString.split(",")}' var='item'>
<li>${item}</li>
</c:forTokens>
</ul>
D. <c:import var='dataString' url='/WEB-INF/data'>
<c:param name='objectID' value='${currentOID}' />
</c:import>
<ul>
<c:forTokens items'${dataString}' delims=',' var='item'>
<li>${item}</li>
</c:forTokens>
</ul>
Answer: D

解析:JSTL格式

Q: 31 Which three are true about TLD files? (Choose three.)
A. The web container recognizes TLD files placed in any subdirectory of WEB-INF.
B. When deployed inside a JAR file, TLD files must be in the META-INF directory, or a subdirectory of it.
C. A tag handler's attribute must be included in the TLD file only if the attribute can accept request-time
expressions.
D. The web container can generate an implicit TLD file for a tag library comprised of both simple tag handlers
and tag files.
E. The web container can automatically extend the tag library map described in a web.xml file by including
entries extracted from the web application's TLD files.
Answer: A, B, E

解析:D.只有tag files

Q: 32 Your management has required that all JSPs be created to generate
XHTML-compliant content and to facilitate that decision, you are required to create all JSPs using the
JSP Document format. In the reviewOrder.jspx page, you need to use several core JSTL tags to process
the collection of order items in the customer's shopping cart. Which JSP code snippets must you use in
the reviewOrder.jspx page?
A. <html xmlns:jsp="http://java.sun.com/JSP/Page"
version="2.0">
<jsp:directive.taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" />
<!-- page content -->
</html>
B. <html xmlns:jsp="http://java.sun.com/JSP/Page"
version="2.0"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<!-- page content -->
</html>
C. <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
version="2.0">
<jsp:directive.taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" />
<!-- page content -->
</jsp:root>
D. <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
version="2.0"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<!-- page content -->
</jsp:root>
Answer: D

解析:<html>不是jsp标签,C.导入的是自定义标签库的格式

Q: 33 Which two JSTL URL-related tags perform URL rewriting? (Choose two.)
A.url
B.link
C.param
D.import
E.redirect
Answer: A, E
解析:<a href='<c:url value="foo.jsp"/>' />


Q: 34 A custom JSP tag must be able to support an arbitrary number of attributes
whose names are unknown when the tag class is designed. Which two are true? (Choose two.)
A. The <body-content> element in the echo tag TLD must have the value JSP.
B. The echo tag handler must define the setAttribute(String key, String value) method.
C. The <dynamic-attributes>true</dynamic-attributes> element must appear in the echo tag TLD.
D. The class implementing the echo tag handler must implement the javax.servlet.jsp.tagext.IterationTag
interface.
E. The class implementing the echo tag handler must implement the javax.servlet.jsp.tagext.DynamicAttributes
interface.
Answer: C, E
解析:DynamicAttributes接口支持任意数量的未知属性,
C.允许接受动态属性。E.

Q: 35 A developer has used this code within a servlet:
62. if(request.isUserInRole("vip")) {
63. // VIP-related logic here
64. }
What else must the developer do to ensure that the intended security goal is achieved?
A.create a user called vip in the security realm
B.define a group within the security realm and call it vip
C.define a security-role named vip in the deployment descriptor
D.declare a security-role-ref for vip in the deployment descriptor
Answer: D

解析:security-role-ref 元素将 security-role 定义的安全角色链接到备用角色名vip

Q: 36 Given:
3. class MyServlet extends HttpServlet {
4. public void doPut(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
5. // servlet code here ...
26. }
27. }
If the DD contains a single security constraint associated with MyServlet and its only <http-method> tags
and <auth-constraint> tags are:
<http-method>GET</http-method>
<http-method>PUT</http-method>
<auth-constraint>Admin</auth-constraint>
Which four requests would be allowed by the container? (Choose four.)
A.A user whose role is Admin can perform a PUT.
B.A user whose role is Admin can perform a GET.
C.A user whose role is Admin can perform a POST.
D.A user whose role is Member can perform a PUT.
E.A user whose role is Member can perform a POST.
F.A user whose role is Member can perform a GET.
Answer: A, B, C, E
解析:只有用户Admin具有GET、PUT方法的访问权。

Q: 37 What is true about Java EE authentication mechanisms?
A. If your deployment descriptor correctly declares an authentication type of CLIENT_CERT, your users must
have a certificate from an official source before they can use your application.
B. If your deployment descriptor correctly declares an authentication type of BASIC, the container
automatically requests a user name and password whenever a user starts a new session.
C. If you want your web application to support the widest possible array of browsers, and you want to perform
authentication, the best choice of Java EE authentication mechanisms is DIGEST.
D. To use Java EE FORM authentication, you must declare two HTML files in your deployment descriptor,
and you must use a predefined action in the HTML file that handles your user's login.
Answer: D
解析:
BASIC:HTTP规范
DIGEST:HTTP规范,数据完整性强一些,但不算SSL
FORM:J2EE规范,数据完整性非常弱,没有加密,允许有登录界面。
CLIENT-CERT:J2EE规范,数据完整性很强,公共钥匙#


Q: 38 If you want to use the Java EE platform's built-in type of authentication
that uses a custom HTML page for authentication, which two statements are true? (Choose two.)
A. Your deployment descriptor will need to contain this tag:
<auth-method>CUSTOM</auth-method>.
B. The related custom HTML login page must be named loginPage.html.
C. When you use this type of authentication, SSL is turned on automatically.
D. You must have a tag in your deployment descriptor that allows you to point to both a login HTML page and
an HTML page for handling any login errors.
E. In the HTML related to authentication for this application, you must use predefined variable names for the
variables that store the user and password values.
Answer: D, E

解析:A.可以不用。B.不一定。C.不会自动打开

Q: 39 Given this fragment in a servlet:
23. if(req.isUserInRole("Admin")) {
24. // do stuff
25. }
And the following fragment from the related Java EE deployment descriptor:
812.<security-role-ref>
813.<role-name>Admin</role-name>
814.<role-link>Administrator</role-link>
815.</security-role-ref>
900.<security-role>
901.<role-name>Admin</role-name>
902.<role-name>Administrator</role-name>
903.</security-role>
What is the result?
A.Line 24 can never be reached.
B.The deployment descriptor is NOT valid.
C.If line 24 executes, the user's role will be Admin.
D.If line 24 executes, the user's role will be Administrator.
E.If line 24 executes the user's role will NOT be predictable.
Answer: D
解析:<role-line>标签的元素是<security-role-ref>标签的替代元素。

Q: 40 Given the security constraint in a DD:
101. <security-constraint>
102. <web-resource-collection>
103. <web-resource-name>Foo</web-resource-name>
104. <url-pattern>/Bar/Baz/*</url-pattern>
105. <http-method>POST</http-method>
106. </web-resource-collection>
107. <auth-constraint>
108. <role-name>DEVELOPER</role-name>
109. </auth-constraint>
110. </security-constraint>
And given that "MANAGER" is a valid role-name, which four are true for this security constraint?
(Choose four.)
A.MANAGER can do a GET on resources in the /Bar/Baz directory.
B.MANAGER can do a POST on any resource in the /Bar/Baz directory.
C.MANAGER can do a TRACE on any resource in the /Bar/Baz directory.
D.DEVELOPER can do a GET on resources in the /Bar/Baz directory.
E.DEVELOPER can do only a POST on resources in the /Bar/Baz directory.
F.DEVELOPER can do a TRACE on any resource in the /Bar/Baz directory.
Answer: A, C, D, F
解析:E.只有用户DEVELOPER具有POST方法的访问权,但不是只能用POST方法。

Q: 41 Which three are valid URL mappings to a servlet in a web deployment
descriptor? (Choose three.)
A.*/*
B.*.do
C.MyServlet
D./MyServlet
E./MyServlet/*
F.MyServlet/*.jsp
Answer: B, D, E

解析:B.*.do文件即是servlet.C.不是路径。F.*.jsp是jsp而不是servlet.

Q: 42 Click the Task button.
Place the appropriate element names on the left on the web application deployment descriptor on the
right so that files ending in ".mpg" are associated with the MIME type "video/mpeg."
42
解析:文件格式映射

 

Q: 43 Which three web application deployment descriptor elements allow web
components to gain references to resources or EJB components? (Choose three.)
A.ejb-ref
B.jdbc-ref
C.servlet-ref
D.resource-ref
E.javamail-ref
F.ejb-remote-ref
G.resource-env-ref
Answer: A, D, G

解析:部署资源或者EJB组件。

Q: 44 After a merger with another small business, your company has inherited a
legacy WAR file but the original source files were lost. After reading the documentation of that web
application, you discover that the WAR file contains a useful tag library that you want to reuse in your
own webapp packaged as a WAR file.
What do you need to do to reuse this tag library?
A. Simply rename the legacy WAR file as a JAR file and place it in your webapp's library directory.
B. Unpack the legacy WAR file, move the TLD file to the META-INF directory, repackage the whole thing as
a JAR file, and place that JAR file in your webapp's library directory.
C. Unpack the legacy WAR file, move the TLD file to the META-INF directory, move the class files to the
top-level directory, repackage the whole thing as a JAR file, and place that JAR file in your webapp's library
directory.
D. Unpack the legacy WAR file, move the TLD file to the META-INF directory, move the class files to the
top-level directory, repackage the WAR, and place that WAR file in your webapp's WEB-INF directory.
Answer: C
解析:
JAR(Java Archive file)封装类文件
WAR(Web Archive file)封装Web站点,所有D不正确。

Q: 45 Which two actions protect a resource file from direct HTTP access within a
web application? (Choose two.)
A.placing it in the /secure directory
B.placing it in the /WEB-INF directory
C.placing it in the /META-INF/secure directory
D.creating a <web-resource> element within the deployment descriptor
E.creating a <secure-resource> element within the deployment descriptor
Answer: B, C

解析:阻止HTTP直接访问,没有D、E的部署标签

Q: 46 Given that www.example.com/SCWCDtestApp is a validly deployed Java
EE web application and that all of the JSP files specified in the requests below exist in the locations
specified. Which two requests, issued from a browser, will return an HTTP 404 error? (Choose two.)
A.http://www.example.com/SCWCDtestApp/test.jsp
B.http://www.example.com/SCWCDtestApp/WEB-INF/test.jsp
C.http://www.example.com/SCWCDtestApp/WEB-WAR/test.jsp
D.http://www.example.com/SCWCDtestApp/Customer/test.jsp
E.http://www.example.com/SCWCDtestApp/META-INF/test.jsp
F.http://www.example.com/SCWCDtestApp/Customer/Update/test.jsp
Answer: B, E
解析:
B.WEB-INF为网络应用程序的根目录
E.META-INF是与WEB-INF同层的目录

Q: 47 Which two about WAR files are true? (Choose two.)
A.WAR files must be located in the web application library directory.
B.WAR files must contain the web application deployment descriptor.
C.WAR files must be created by using archive tools designed specifically for that purpose.
D.The web container must serve the content of any META-INF directory located in a WAR file.
E.The web container must allow access to resources in JARs in the web application library directory.
Answer: B, E

解析:WAR为封装WEB站点的文件。所以必须包含部署文件(B).

Q: 48 Given this fragment from a Java EE deployment descriptor:
124.<welcome-file>beta.html</welcome-file>
125.<welcome-file>alpha.html</welcome-file>
And this request from a browser:
http://www.sun.com/SCWCDtestApp/register
Which statement is correct, when the container receives this request?
A.This deployment descriptor is NOT valid.
B.The container first looks in the register directory for beta.html.
C.The container first looks in the register directory for alpha.html.
D.The container first looks for a servlet mapping in the deployment descriptor.
Answer: D

解析:第一个加载的是部署中映射的servlet(IQ题)

Q: 49 Which EL expression evaluates to the request URI?
A.${requestURI}
B.${request.URI}
C.${request.getURI}
D.${request.requestURI}
E.${requestScope.requestURI}
F.${pageContext.request.requestURI}
G.${requestScope.request.requestURI}
Answer: F

解析:request存放在上下文中

Q: 50 Given:
1. <% int[] nums = {42,420,4200};
2. request.setAttribute("foo", nums); %>
3. ${5 + 3 lt 6}
4. ${requestScope['foo'][0] ne 10 div 0}
5. ${10 div 0}
What is the result?
A.true true
B.false true
C.false true 0
D.true true Infinity
E.false true Infinity
F.An exception is thrown.
G.Compilation or translation fails.
Answer: E
解析:
lt(<,less then),gt(>,great than),ne(!=,not equal),div(/,divide)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值