一个在线考试系统,测试你的jsp知识,代码不是特别多,所以不加注释了(http://jspbbs.yeah.net)
index.jsp
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD VALIGN="TOP">
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
<DIV ALIGN="RIGHT">
<FONT SIZE="-1"><A HREF="/developer/Quizzes/index.html">Quizzes
Index</A>
</FONT>
</DIV>
<H2 ALIGN="RIGHT">
<FONT COLOR="#FFFFFFF">JSP Professional, Chapter 12 Quiz</FONT>
</H2>
<H4 ALIGN="RIGHT">
<EM>by Dan Malks</EM>
</H4>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD>
<IMG SRC="penduke.gif" WIDTH="164" HEIGHT="115" ALIGN=left
ALT="Duke">
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> The
<I><A HREF="/developer/Books/jsp/index.html">JSP
Professional: Chapter 12, JSP Archictecture</A>
</I> Test your knowledge on the differences between servlets and
JSP, Factor Forward-Factor Back, page-centric verses the
dispatcher approach, and more. </FONT>
</TD>
</TR>
</TABLE>
<HR> <!-- Form calls the answer.jsp, which invokes the QuizResponses bean -->
<FORM METHOD="POST" ACTION="answer.jsp">
<OL>
<!-- Question 1 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Choose
the statement that best describes the relationship between
JavaServer Pages<SUP>
<FONT SIZE="-2">TM</FONT>
</SUP> (JSP<SUP>
<FONT SIZE="-2">TM</FONT>
</SUP>) and servlets: </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="one" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Servlets are built on JSP semantics and all servlets are
compiled to JSP pages for runtime usage<BR>
</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="one" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
JSP and servlets are unrelated technologies</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="one" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Servlets
and JSP are competing technologies for handling web
requests. Servlets are being superceded by JSP, which is
preferred. The two technologies are not useful in
combination. </FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="one" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
JSPs are built on servlet semantics and all JSPs are
compiled to servlets for runtime usage </FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 2 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">What
is a benefit of using JavaBeans<SUP>
<FONT SIZE="-2">TM</FONT>
</SUP> to separate business logic from presentation markup within
the JSP environment? </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="two" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
It allows the JSP to access middleware </FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="two" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">It
creates a cleaner role separation between the
web-production team and the software development team, so
that the web-production team can focus on presentation
markup, while the software team can focus on building
reusable software components for helping to generate
dynamic displays </FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="two" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">It
provides a dynamic markup environment, such that JavaBeans
are integrated seamlessly with the template presentation
content, in order to create the dynamic display for the
client </FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="two" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">It
provides the developer with full access to the Java<SUP>
<FONT SIZE="-2">TM</FONT>
</SUP> 2 Platform Enterprise Edition (J2EE<SUP>
<FONT SIZE="-2">TM</FONT>
</SUP>), which is unavailable from outside the JavaBean
environment </FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 3 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Why
use the <CODE>
RequestDispatcher
</CODE> to forward a request to another resource, instead of doing a
<CODE>
sendRedirect
</CODE>? </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="three" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Redirects are no longer supported in the current servlet
API</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="three" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Redirects are not a cross-platform portable mechanism</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="three" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The <CODE>
RequestDispatcher
</CODE> does not use the reflection API</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="three" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The <CODE>
RequestDispatcher
</CODE> does not require a round trip to the client, and thus is
more efficient and allows the server to maintain request
state</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 4 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">What
alternatives exist to embedding Java code directly within the
HTML markup of your JSP page?</FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="four" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Moving the code into your session manager</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="four" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Moving the code into sciptlets</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="four" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Moving the code into JavaBeans and servlets</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="four" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Moving the code into a transaction manager</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 5 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> What
type of scriptlet code is better-suited to being <I>factored
forward</I> into a servlet? </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="five" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Code
that deals with logic that is common across requests</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="five" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Code
that deals with logic that is vendor specific</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="five" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Code
that deals with logic that relates to database access</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="five" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Code
that deals with logic that relates to client scope</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 6 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Choose
the statement that best describes how to connect JSP pages and
EJBs</FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="six" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Lookup
the EJBs from within a JSP, but use the EJBs from within a
basic JavaBean</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="six" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Lookup
and use the EJBs from a separate business delegate. The
JavaBeans that work with JSP pages are clients to these
business delegates and know nothing about EJB specifics</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="six" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Lookup and use the EJBs from within a JSP page, but only as
remote references</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="six" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">Lookup
the EJBs from within a servlet, delegating usage to
specific JSP pages</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 7 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> Are
custom tags available in JSP 1.0? If not, how else might you
implement iteration from within a JSP? </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="seven" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Yes, but the only tags available relate to database access</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="seven" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
No. To iterate over a collection of values, one must use
scriptlet code</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="seven" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
No, but there is a standard <iterate> tag that may be
used</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="seven" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
Yes, but custom tags will not help developers create tags
for use in iterating over a collection</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 8 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> What
is the initial contact point for handling a web request in a <I>Page-Centric</I>
architecture? </FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="eight" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> A
JSP page</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="eight" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> A
JavaBean</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="eight" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> A
servlet</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="eight" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> A
session manager</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 9 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">What
is the difference between doing an <I>include</I> or a <I>forward</I>
with a <CODE>
RequestDispatcher
</CODE>?</FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="nine" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The forward method transfers control to the designated
resource, while the include method invokes the designated
resource, substitutes its output dynamically in the
display, and returns control to the calling page.</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="nine" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The two methods provide the same functionality, but with
different levels of persistence</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="nine" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The forward method is deprecated as of JSP 1.1 and the
include method should be used in order to substitue
portions of a dynamic display at runtime</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="nine" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif">
The include method transfers control to a dynamic resource,
while the forward method allows for dynamic substitution of
another JPS pages output, returning control to the calling
resource</FONT>
</TD>
</TR>
</TABLE>
<P>
<!-- Question 10 -->
<LI>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> What
line of code below might be combined in the same JSP page with
a validation guard (for example,<code>
<% bean.validationGuard(); %>
</code> ), in order to create an alternate flow of control for
scenarios in which exceptions arise. The <code>
validationGaurd
</code> method might throw an exception, which should cause the flow
of control to continue in another user-defined page (assume
JSP 1.0)</FONT>
<BR>
<TABLE BORDER="0" CELLPADDING="5" CELLSPACING="0">
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="ten" TYPE="RADIO" VALUE="A"> A.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> <CODE>
<jsp:error page="errorPage.jsp" guard="true" />
</CODE>
</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="ten" TYPE="RADIO" VALUE="B"> B.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> <CODE>
<%@ page language="java" buffer="8k" %>
</CODE> </FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="ten" TYPE="RADIO" VALUE="C"> C.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"> <CODE>
<jsp:useBean id="bean" class="examples.Bean"
scope="request" />
</CODE>
</FONT>
</TD>
</TR>
<TR>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><INPUT
NAME="ten" TYPE="RADIO" VALUE="D"> D.</FONT>
</TD>
<TD>
<FONT FACE="Verdana, Arial, Helvetica, sans-serif"><CODE>
<%@ page language="java" errorPage="errorPage.jsp"
buffer="8k" %>
</CODE>
</FONT>
</TD>
</TR>
</TABLE>
</OL>
<P>
<DIV ALIGN="CENTER">
<INPUT TYPE="SUBMIT" VALUE="Submit">
<INPUT TYPE="RESET">
</DIV>
</FORM> </FONT>
</TD>
</TR>
</TABLE>
<P>