选择题(没有注明多选,则为单选),每题2分 1.下面哪个不是Form的元素? ( )
A. Input B: textarea C: select D: table 2. HTML页面中,下面哪个表示空格( )
A.& B. C.© D.<
3.中的align属性是什么含义? ( )
A. 加粗 B 斜体 C 对齐方式 D 边框样式 4.单选按钮是下列哪一个? ( ) A. B.
C.
D. 5.下边哪个不是JSP内置对象? ( )
A. Session B request C cook D out 6.下边哪个是JSP指令标记( ) A.<%……%>
B. <%!……%>
C. <%@……%> D.<%=……%>
7.当在JSP文件中要使用到ArrayList对象时,应在JSP文件中加入以下哪个语句?( A.
C. <%@ page import=”java.util.*” /> D.<%@ page include=”java.util.*” /> 8.关于JavaBean的说法,哪个是正确的?( )
A. JavaBean的具体类可以不是public的
B. JavaBean可以只提供一个带参数的构造器
C. JavaBean可以象Html标记一样不关闭 D. JavaBean可以保存状态
9. JavaBean的生命周期中,哪个是用来跟踪用户会话的( )
A. session B. request
C. page
D. application
10.要在session对象中保存属性,可以使用以下哪个语句( )
A. session.getAttribute(“key”,”value”) B. session.setAttribute(“key”,”value”)
C. session.setAttribute(“key”) D. session.getAttribute(“key”)
11.Jsp:forward 和sendredirect 都是用来做页面跳转的,描述错误的是?( )
A. forward之后可以使用原来的request对象,而且效率更高。
B. sendredirect之后不可以使用原来的request对象,而且效率低。 C. forward地址栏不变化,只能在web应用程序内的页面间跳转。 D. forward地址栏变化,可以跳转到任何页面和机器。
) 12.关于两种请求,下列说法正确的是? ( )
A. B. C. D.
get请求是默认的
get请求处理的数据量大小不受限制 post请求地址栏里是能够看到数据的 post请求可以由doGet方法处理
13. 如果Tomcat安装后,想要修改它的端口号,可以通过修改
的___文件来实现。( )
A. web.xml B. server.xml C. server-minimal.xml
D. tomcat-user.xml
14.JSP分页代码中,哪个步需次序是正确的?( )
A. 先取总记录数,得到总页数,再取所有的记录,最后显示本页的数据。 B. 先取所有的记录,得到总页数,再取总记录数,最后显示本页的数据。 C. 先取总记录数,得到总记录数,再取所有的记录,最后显示本页的数据。 D. 先取本页的数据,得到总页数,再取总记录数,最后显示本页的数据。 15.下边哪个不是MVC中的组成?( )
A. JavaBean B. FrameWork C. JSP
D. Servlet
16..客户化标签库文件myTags.tld,应当保存在哪一个目录下( )
A. web应用程序的根目录 B. 自定义目录 C. WEB-INF目录 D. Lib目录
17.Oracle数据库的JDBC驱动程序类名及其完整包路径为( )
A. jdbc.driver.oracle.OracleDriver B. jdbc.oracle.driver.OracleDriver C. driver.oracle. jdbc.OracleDriver
D. oracle.jdbc.driver.OracleDriver
18.如果需要删除session中的某个属性key,可以调用下面的____方法( )
A. remove(“key”);
B. removeAttribute(“key”)
C. invalidate() D. logout()
19.下面有关JSP和Servlet关系的论述正确的有:(两个正确答案) ( )
A. JSP能够实现的功能均可由Servlet实现 B. Servlet能够实现的功能均可由JSP实现 C. Servlet更适做表现层 D. JSP更适合做控制层
20. 下面那一个是正确使用JavaBean的方法( )
A.
B.
C.
E.
A. session.invalidate() B. session.expunge() C. session.destroy()
D. session.end()
22.ActionForm Bean 中验证表单数据方法的返回类型是( )
A. ActionError
B. ActionErrors
C. ActionForward D. ActionMapping
23.以下哪个说法是正确的?(多选)( )
A. 每个Http请求对应一个单独的ActionServlet实例
B. 对于每个请求访问HelloAction的Http请求,struts框架只创建一个单独的
HelloAction实例 C. 每个子应用对应一个单独的RequestProcessor实例 D. 每个子应用对应一个单独的web.xml文件
24.在struts应用的控制器中包含哪些组件(两个正确答案) ( )
A. JSP
B. ActionServlet
C. Action
D. 客户化标签
25.对于以下这段配置Actionservlet的代码,哪些说法是正确的?(三个正确答案) `
( )
A. Servlet容器在启动应用时,会初始化这个ActionServlet
B. 对于所有URL中以”*.do”结尾的Http请求,都由ActionServlet处理 C. 这段代码位于struts-config.xml中 D. 这段代码位于web.xml中
26. ActionForm组件的存在范围是(两个正确答案) ( )
A. application B. session C. request D. page
27. 如果同一页面中有多个提交按钮(
下面哪一个扩展更合适 ( )
A. Action
B. DispatchAction C. LookupDispatchAction
D. ForwardAction E. SwitchAction
28. 如果同一页面中有多个提交按钮(
struts-config.xml文件的元素中最重要的且必须配置的一个属性是( )
A. parameter B. validate
C. key D. scope
29. 如果在struts-config.xml配置了数据源,则在那个组件中可以获得这个数据源对象,
进而获得Connection对象( ) A. Action组件
B. 视图组件 C. 模型组件 D. JSP组件
30. struts的中心控制器组件的完整类名是( )
A. org.apache.struts.action.ActionServlet B. org.apache.struts.action.Action C. org.apache.struts.action.Switch
D. org.apache.struts.action.CoreController
二.简述题(总分 40):
1.简述Servlet的生命周期(5分)
Web容器加载servlet,生命收起开始,通过调用servlet
的的init()方法进行servlet的初始化,通过调用service()方法实现,根据请求的不同调用不同的do***()方法,结束服务,web容器调用servlet的destroy()方法
一个servlet的生命周期由部署servlet的容器控制,当一个请求映射到一个servlet是,
容器执行下步骤: 1.加载servlet类
2.创建一个servlet类的实例
3.调用init初始化servlet实例
4.调用service方法,传递一个请求和响应对象,容器要移除一个servlet,调用servlet的destroy方法结束该servlet
2.简述
重定向分为两类。一类是客户端重定向,一类是服务器端重定向。客户端重定向可以
通过设置特定的HTTP头,或者写javaScirpt脚本实现。
服务器端的重定向方式
服务器的重定向有两种方式,一种是HttpServletResponse的sendRedirect()方法,一个是使用RequestDispatcher的forward()方法。
HttpServletResponse.sendRedirect()方法 HttpServletResponse接口定义了可用于转向的sendRedirect方法,这个方法将响应定向到指定的,新的URL,location可以是一个绝对的URL,如response.sendRedirect(“http://java.sun.com”)也可以使用相对的URL location可以是一个绝对的URL,如response.sendRedirect(\也可以使用相对的URL。如果location以“/”开头,则容器认为相对于当前Web应用的根,否则,容器将解析为相对于当前请求的URL。这种重定向的方法,将导致客户端浏览器的请求URL跳转。从浏览器中的地址栏中可以看到新的URL地址,作用类似于上面设置HTTP响应头信息的实现。
RequestDispatcher.forward()方法
RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中。RequestDispatcher接口中定义了两个方法,参见如下代码:
public interface RequestDispatcher {
void forward(ServletRequest request, ServletResponse response); void include(ServletRequest request, ServletResponse response); }
forward()方法将当前的request和response重定向到该RequestDispacher指定的资源。这在实际项目中大量使用,因为完成一个业务操作往往需要跨越多个步骤,每一步骤完成相应的处理后,转向到下一个步骤。比如,通常业务处理在Servlet中处理,处理的结果转向到一个JSP页面进行显示。这样看起来类似于Servlet链的功能,但是还有一些区别。一个RequestDispatcher对象可以把请求发送到任意一个服务器资源,而不仅仅是另外一个Servlet。 include()方法将把Request Dispatcher资源的输出包含到当前输出中。
注意,只有在尚未向客户端输出响应时才可以调用forward()方法,如果页面缓存不为空,在重定向前将自动清除缓存。否则将抛出一个IllegalStateException异常。 如何得到RequestDispatcher
有三种方法可以得到Request Dispatcher对象。
1.javax.servlet. ServletRequest的getRequestDispatcher(String path)方法,其中path可以是相对路径,但不能越出当前Servlet上下文。如果path以“/”开头,则解析为相对于当前上下文的根。
2.javax.servlet. ServletContext的getRequestDispatcher(String path)方法,其中path必须以“/”开头,路径相对于当前的Servlet上下文。可以调用ServletContext的getContext(String uripath)得到另一个Servlet上下文,并可以转向到外部上下文的一个服务器资源链接。
3.使用javax.servlet. ServletContext的getNamedDispatcher(String name)得到名为name的一个Web资源,包括Servlet和JSP页面。这个资源的名字在Web应用部署描述文件web.xml中指定。
这三种方法的使用有细微的差别。比如,下面是一个应用的配置文件web.xml:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库JSP考试题在线全文阅读。
相关推荐: