《JavaWeb试卷五》
一、单项选择题(每题2分,共30分)
1.下面那个方法能够读取给定HttpServletRequest request对象中的所有Cookie( A ) A、request.getCookies() B、request.getAttributes()
C、request.getSession ().getCookies() D、request.getSession (). GetAttributes()
2.Page指令中的哪一个属性用来定义Jsp页面的MIME类型和Jsp字符的编码。( A )
A、contnetType B、import C、 language D、 session 3.下列动作标签中哪一个是用于以“名字-值”对应的形式为其它标签提供附加信息。( D )
A、include动作标签 B、forward动作标签 C、useBean动作标签 D、param标签
4.带包名(package tom.jiafei)的servlet(Hello)的访问方法是。(该servlet放置在classes目录中) ( D ) A、 http://localhost:8080/tom.jiafei.Hello B、http://localhost:8080/servlet/tom/jiafei/Hello C、http://localhost:8080/servlet/tom.jiafei/Hello D、http://localhost:8080/servlet/tom.jiafei.Hello
5.一个JSP网页可以使用exception对象,但是必须使用isErrorPage
设为( C )
A、 null B、 none C、 false D、 true 6.下面那一个JSTL代码片段能够实现导入其他web资源的功能( A )
A、 A、<%! int i=0;%> B、<% int i=0;%> C、<%=i;%> D、<%i++;%> 8.给定下面HttpServlet的service方法: (1)public void service(HttpServletRequest request, (2)HttpServletResponse response) (3)throws ServletException, IOException { (4)Httpsession s = request.getSession(); (5)// insert code here (6). } 在第(6)行插入以下哪条语句能够将session中的属性删除(C ) A、session.unbind(\ B、session.remove(\C、session.removeAttribute(\D、session.unbindAttribute(\E.session.deleteAttribute(\ 9.下面的哪个选项不能实现页面的跳转( A ) A. 10.下面哪一个不是JSP本身已加载的基本类?( B ) A、java.lang.* B、java.io.* C、javax.servlet.* D、javax.servlet.jsp.* 11.使用request对象的getParameter()方法可以读取一个输入控件的哪个属性值( B ) A、type B、value C、size D、name 12.以下关于JavaBean的描述错误的是( C ) A、JavaBean是一个公有java类 B、JavaBean提供给外界使用的方法是公有类型的 C、JavaBean必须有一个带参构造方法 D、在JSP中使用的JavaBean必须放在一个有名包中 13.不能在不同用户之间共享数据的方法是( A ) A、通过cookie B、利用文件系统 C、利用数据库 D、通过ServletContext对象 14.如果某个类要成为Servlet,则它应该继承如下哪个类( B ) A、HttpServletRequest B、HttpServlet C、HttpServletResponse D、GenericServlet 15.表单标记中的action属性的作用是( C ) A、为表单命名 B、调用客户端验证方法 C、指明表单信息发送的目的地址 D、声明表单的提交方式 二、多项选择题(每题3分,共15分) 1.在下面哪个两个web应用目录中可以放置所需要的class或类库? ( AD ) A、/WEB-INF/lib放置jar文件 B、/META-INF/lib放置jar文件 C、/classes 放置已经编译的类文件 D、/WEB-INF/classes 放置已经编译的类文件 E、/META-INF/classes 放置已经编译的类文件 2.假定用户的会话对象中存在属性cart,以下哪两条语句能够将该属性从session中删除?( BD ) A、${cart = null} B、 D、 A、 Cookie B、 URL重写 C、 隐藏表字段 D、 请求重定向 E、 HttpSession对象 4.JSP页面需要创建仅在本页面使用的JavaBean的示例,为了完成 此功能必须使用jsp:useBean的哪两个属性进行设置( AD ) A、id B、type C、name D、class E、scope 5.下列接口属于javax.servlet包的是( BCE ) A、 HttpSession B、 ServetlConfig C、 ServletContext D、 HttpResponse E、 RequestDispatcher 三、简答题(每题5分,共25分) 1.什么是application对象,application对象与session对象的区别? 答:1)“application” 对象负责提供应用程序在服务器中运行时的一些全局信息,常用的方法有getMimeType和getRealPath等。 2)与session对象不同:服务器启动后,就产生application对象。当客户访问服务器上的Jsp时,Jsp引擎就为该客户分配这个application对象。所有的客户的application对象都是同一个。即所有的客户共享这个内置的application。 2.forward标签有什么作用? 答: 作用:是从该指令处停止当前页面继续执行,而转向其它的一个Jsp页面。 3.简述Jsp的执行过程。 答:1)客户端发出Request(请求); 2)JspContainer将Jsp转译成Servlet源代码;(字节码) 3)将产生的Servlet的源代码经过编译后,并加载到内存执行; 把结果Response(响应)至客户端。 4.什么是游动查询,Jsp中如何实现? 答:游动查询:结果集能够前后移动、或显示结果集指定的一条记录。 Jsp实现方法:获得一个Statement的对象: Statement stmt=con.createStatement(int type,int concurrency); Type取值决定滚动方式: ResultSet.Type_FORWORD_ONLY:结果集的游标只能向下滚动。 ResultSet.TYPE_SOCRE_INSENSITIVE:结果集的游标可以上下滚动,当数据库变化时,当前结果集不变。 ResultSet.TYPE_SCORE_SENSITIVE:返回可滚动的结果集,当数据库变化时候,当前的结果集同步的改变。 Concurrency取值决定是否可以用结果集更新数据库。 ResultSet.CONCUR_READ_ONLY:不能用结果集更新数据库中的表。 Result.CONCUR_UPDATETABLE:能用结果集更新数据库中的表。 5.JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是\类servlet\。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控 制逻辑。 四、编程题(每题15分,共30分) 1.要求编写用户信息输入页面form.htm和提交处理页面form.jsp。 功能:在form.htm中提供用户名、性别(男/女)、所在城市(大连/北京/上海)三项输入,分别使用单行文本框、单选按钮和单选下拉列表来获取用户输入。在form.jsp中能够显示用户提交过来的信息(用户名、性别、所在城市)。 2.数据库的名字是book,用户名是zhangsan,口令是lisi,使用标准标签库中的 《JavaWeb试卷五》答案 一、单项选择题 A、A、D、D、C、A、C、C、A、B、B、C、A、B、C 二、多项选择题 AD、BD、ABCE、AD、BCE 三、简答题 1.答:1)“application” 对象负责提供应用程序在服务器中运行时的 一些全局信息,常用的方法有getMimeType和getRealPath等。 2)与session对象不同:服务器启动后,就产生application对象。当客户访问服务器上的Jsp时,Jsp引擎就为该客户分配这个application对象。所有的客户的application对象都是同一个。即所有的客户共享这个内置的application。 2.答: 作用:是从该指令处停止当前页面继续执行,而转向其它的一个Jsp页面。 3.答:1)客户端发出Request(请求); 2)JspContainer将Jsp转译成Servlet源代码;(字节码) 3)将产生的Servlet的源代码经过编译后,并加载到内存执行; 把结果Response(响应)至客户端。 4.答:游动查询:结果集能够前后移动、或显示结果集指定的一条记录。 Jsp实现方法:获得一个Statement的对象: Statement stmt=con.createStatement(int type,int concurrency); Type取值决定滚动方式: ResultSet.Type_FORWORD_ONLY:结果集的游标只能向下滚动。 ResultSet.TYPE_SOCRE_INSENSITIVE:结果集的游标可以上下滚动,当数据库变化时,当前结果集不变。 ResultSet.TYPE_SCORE_SENSITIVE:返回可滚动的结果集,当数 据库变化时候,当前的结果集同步的改变。 Concurrency取值决定是否可以用结果集更新数据库。 ResultSet.CONCUR_READ_ONLY:不能用结果集更新数据库中的表。 Result.CONCUR_UPDATETABLE:能用结果集更新数据库中的表。 5.答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是\类servlet\。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。 四、编程题 (答案略)