JSP期末考试试卷(A卷)-2012.6
恐怖小故事-全国消防日
华南农业大学期末考试试卷(A卷)
2011学年第2学期
考试科目: 软件开发基础(Java)
考试类型:(闭卷)考试 考试时间:
120 分钟
学号 姓名 年级专业
装
题号
得分
评阅人
一
二
三
四
总分
订
答题说明:所有答案必须写在答卷的指定位置,考试结束时只交答卷。
得分
线
一、选择题(本大题共20小题,每小题1分,共20分)
说明:将选项答案按序号写在答卷上。
1.
HTML页面中,定义浏览器标题的
A B C
2. 表单
A action B method C name D target
3.下列关于JSP应用程序执行的描述正确的是()。
A JSP页面在每次执行前都必须经过翻译和编译后生成.class文件。
B JSP页面需要下载到本地浏览器中执行。
C JSP页面的执行是在JSP容器中完成的,需要JVM(Java虚拟机)的支持。
D JSP页面只需要有JVM(Java虚拟机)就可以单独运行。
4.Servlet开发人员在扩展 HttpServlet时如何处理HttpServlet的service()方法?
A 必须覆盖service()方法
B 从doGet()或doPost()方法调用service()方法
C 从init()调用service()方法
D 至少覆盖一个doXXX()方法,如doPost()方法
5.以下哪个JSP隐含对象不能存储属性(Attribute)?
A request B response C session D application
6. 以下对JavaBean的描述中正确的是哪一个?
A JavaBean必须继承izable接口
B JavaBean本质上就是一个Java类
C 编译后的JavaBean可以放置在Web项目的任意目录下
D 在JSP页面中只能使用
7. Java Web应用程序的配置文件存放在哪个位置?
A WEB-INFclasses B WEB- INF C WEB-INFlib D META-INF
8. 在某应用程序中有2个页面和,它们的代码分别如下:
第1页,共11页
<%@page contentType=
index:$${}
<%@page contentType=
Test:$${}
如果以http:localhost:?name=scau 发送请求,能够显示
index:scau Test:scau,则在程序空白处填写()语句可以实现。
A <%@include page=
B
9.有关
A id属性是可选的
B scope属性是必要的
C scope属性是可选的,默认是request
D class或type属性都可以指定,但至少指定一个,它们的值可以不同
10. 在应用程序MyApp的中声明了以下servlet,以下说法正确的是:
A 该Servlet类编译后放在META-INF中
B 请求该Servlet的URL必须是http:localhost:8080MyAppMyServlet
C 该Servlet在应用程序启动时自动被加载和实例化
第2页,共11页
装
订
线
D
该Servlet只能响应GET请求
11.在使用JDBC连接数据库时,下列有关DriverManager类的描述错误是()。
A 用于建立应用程序与数据库之间的连接。
B
用来加载并管理数据库驱动程序。
C 用于控制事务的提交方式。
D
其成员方法均为静态方法,所以可以直接通过类名调用。
12.下面(
)注释是JSP页面中的合法注释,并且能够在客户端的浏览器中通过查看页面
源码看到注释内容。
A 这是一个注释 B
<%--这是一个注释--%>
C
D **这是一个注释*
13.下面关于Servlet过滤器的描述中正确的是:
A Servlet过滤器本身不能产生请求和响应
B
Servlet过滤器默认就可以拦截所有的请求,不需要进行配置
C
Servlet过滤器每次拦截请求时,都需要调用其init方法进行初始化工作
D
Servlet过滤器可以自动将请求传递给后面的过滤器或请求目标,编程时无需撰写传
递请求的语句
14.关于Servlet监听器的描述中错误的是:
A
当Web应用程序中某些状态发生改变时,Servlet容器会产生相应的事件
B
Servlet容器根据的配置,选择适当的Servlet监听器响应事件
C
Servlet监听器可以响应用户在浏览器中进行的操作
D Servlet监听器可以响应
application、session、resquest对象的Attribute的变化
15.在JSP页面的表单中包含以下代码,
游戏
运动
棋牌
美食
要在Servlet中获取用户选择了爱好的数量,最合适的代码是:
A
ameter(“aihao”).length
B
ameter(“aihao”).size()
C
ameterValues(“aihao”).length
D
ameterValues(“aihao”).size()
16.
正确关于EL(Expression Languagae)的说法正确的是:
A
EL可以访问JSP的所有内置隐含对象
B EL可以读取JavaBean对象的属性值
C EL可以修改JavaBean对象的属性值
D
EL可以调用JavaBean对象的任何方法
17. 下列关于Cookie的说法中错误的是:
A Cookie保存在客户端
B Cookie可以被服务器端程序修改
C 浏览器可以关闭Cookie功能
D
Cookie中可以保存任意长度的文本
18. 给出以下JavaBean和JSP页面,
package bean;
public class
Person{
第3页,共11页
String name;
public String getName() { return name; }
public void setName(String name) { =
name; }
}
中的输出内容
是:
A null B 发生异常 C Mike D
John
的默认端口号为:
A 80 B 8080
C 8088 D 8000
20.在页面中有以下代码:
<%
ribute(
ribute(
direct(
%>
在中有如下代码:
<%
n(ribute(
n(ribute(
%>
在浏览器中访问后显示的内容是:
A JSP
JSP
B
null
JSP
C JSP JSP
D null
JSP
得分
二、填空题(本大题共20空,每空1分,共20分)
说明:将填空答案按序号写在答卷上。
1.
JSP应用程序中使session失效的三种方式: (1) 、 (2) 和 (3) 。
2. 满足 (4) 、 (5) 、
(6)和实现Serialable接口条件的Java类可以称为JavaBean。
3.
JSP中有9个内置对象,其中表示异常的是 (7)
;只有唯一对象,在应用程序范
围内共享数据的是 (8) ;用于向浏览器输出数据的是 (9) 。
4. 如果要将JSP应用程序的页面设置为默认的访问页面,则需要在 (10)
文
件中进行配置,配置时使用
5. 在JSP应用程序使用JDBC中访问关系数据库时,首先要加载特定数据库产品的
(12) ,然后建立应用程序与数据库的连接,该连接使用接口 (13) 表示,如果需要
第4页,共11页
装
订
线
在应用程序中配置连接池,则需要在配置文件 (14) 中进行。
6.
根据程序运行结果,以及include_和的部分源代码,完成填
空。
include_的部分源程序代码:
<%@page
contentType=
位于include_中的代码!
<% int num = 10; %>
_________(15)_____________
的部分源代码:
<%@page contentType=
_____________(16)______________
位于中的代码!
__________(17)_____________
num=<%=num%>
after jsp:include!
7. 阅读程序,根据效果图和已有代码将程序补充完整。
第5页,共11页
<%@page contentType=
<% for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
______________ (19)____________________
}
__________ _(20)________________
} %>
得分
三、设计题(本大题共3小题,每小题8分,共24分)
说明:简要说明每个题目中的设计思路即可,无需编写代码。
1. 页面布局设计
(1)请写出目前WEB应用程序的页面布局设计中经常采用的3种方式。
(2)写出使用任一方式设计如下示意图所示的4部分页面布局的思路。
应用程序标题
菜单 工作区域
版权信息等
2. 程序权限设计
第6页,共11页
装
订
线
如
果WEB应用程序中包含:1个欢迎页面;1个登录页面;若干个功能页面。请写出使用
过滤器进行权限
设计的思路。要求:无需登录可以直接访问欢迎页面和登录页面;没有登
录时,访问功能页面会要求登录
;登录后可以访问任意页面。
3. 程序结构设计
现要求完成一个WEB
应用程序实现对学生信息的管理,学生信息存储在关系数据库中,
请按照MVC(模型-视图-控制器)
思想,说明模型、视图和控制器分别使用什么技术较为合
适,主要完成系统的哪些任务。为简化问题,只
考虑使用JSP页面、Servlet、JavaBean和
JDBC技术。
得分
四、编程题(本大题共3小题,每小题分数见各题,共36分)
1. JSP页面编程(10分)
编写一个JSP页面判断并输出一个正整数是否为素数。
要求:(1)页面中定义一个方法boolean isPrime(int
n)来判断是否为素数。
(2)当使用
http:localhost:?num=99
的形式访问页面
时,页面中获取参数值并调用isPrime方法,然后输出结果。
(3)假设参数num的值一定是合法的正整数。
2. Servlet编程(10分)
编写一个Servlet类实现生成验证码功能。
要求:(1)验证码只使用0~9这10个数字。
(2)验证码以4位数字构成的字符串方式输出到浏览器页面。
(3)对GET和POST请求都可以响应。
(4)Servlet置于pkg包中。
说明:(1)不需要写出Servlet的配置信息。
(2)()方法可以生成0~1之间的随机实数。
3.
JSP、Servlet和JavaBean综合编程(16分)
编程输入三角形的三个边长并计算和输出三角形的面积。
要求:(1)编写一个页面,页面中包
括一个输入和提交三个边长的表单,只
写出表单代码即可,假设用户输入的一定是实数。
(2)编写一个文件名的JavaBean,其中包括double类型的三个数
据域a、b、c分别表
示三个边长,1个boolean
isTriangle()方法用于判断三
个边长是否可以构成三角形,1个double getAr
ea()方法计算三角形的面积。
置于bean包中。用注释说明省略封装数据的代码即可,不必写出。
(3)编写一个文件名为的Servlet,其URL为compute,不
需要写配置信息。响应来自的请求,调用JavaBean。如果能够构
成三角形,则将计算得到的面积
构成字符串“面积=XXX”放入session,否
则将字符串“不能构成三角形”放入sessio
n。然后重定向到
页面。
(4)编写页面,取出session中的结果并显示出来。只写出获取数据
并显示的代码即可。
第7页,共11页
华南农业大学期末考试参考答案(A卷)
2011学年第2 学期 考试科目: 软件开发基础(Java)
考试类型:(闭卷)考试 考试时间: 120 分钟
学号
姓名 年级专业
题号
得分
评阅人
得分
题号
答案
题号
答案
一
二
三
四
总分
1
B
11
C
2
A
12
C
3
C
13
A
4
D
14
C
5
B
15
C
6
B
16
B
7
B
17
D
8
C
18
C
9
D
19
B
10
C
20
D
一、选择题(本大题共20小题,每小题1分,共20分)
得分
空号
(2)
答案
调用session的invalidate方法
public类
封装数据域(5,6,7次序可不同)
application
驱动程序
<%@include file=
99
(
二、填空题(本大题共20空,每空1分,共20分)
空号 答案
(1)
(3)
(5)
(7)
(9)
关闭浏览器
Session过期(前3空次序可以不同) (4)
无参构造方法
exception
out
(6)
(8)
(10)
(12)
(14)
(16)
(18)
(20)
(11)
(13) Connection
(15) num=<%= num%>或合理的输出语句
(17) <% num =
100; %>
(19) (i+
得分
三、设计题(本大题共3小题,每小题8分,共24分)
1. 页面布局设计
答:3种方式:Table布局;DIV+CSS布局;HTML的FRAME(3分)其他合理方式
布局设计思路:根据实际答题情况给分
第8页,共11页
2. 程序权限设计
答:使用过滤器拦截对页面的请求;过滤
器对请求的URL进行分析,对欢迎页面和登录页
面的直接通过;对其他页面请求判断session中
是否保存了登录标记,如果有,则直接通过,
否则重定向到登录页面。
根据实际答题情况给分。
装
3. 程序结构设计
答:视图:JSP页面,用于实现用户与程序的交互;
控制器:Servlet,用于拦截请求和分发请求;
模型:JavaBean和JDBC,JavaBean用于实现业务逻辑,JDBC访问数据库。
订
根据实际答题情况给分
得分
四、编程题(本大题共3小题,每小题分数见各题,共36分)
1.
JSP页面编程(10分)
线
<%@page
contentType=
<%!
<------------- 评分点1:4分,没有正确使用 <%!扣2分,没有定义方法直接扣4分
public boolean isPrime(int n) {
int
i;
for (i = 2; i < n; i++) { if (n % i ==
0) { break; } }
if (i < n) {
return false; } else { return true; }
}
%>
<% <------------- 评分点2:4分,获取参数,调用方法,输出
String s = ameter(
int n = nt(s);
(n + 是素数?
%>
评分点3:HTML及JSP程序完整性,其他语法错误共2分
2. Servlet编程(10分)
package pkg;
public class VerificationCode extends HttpServlet { <----评分点1:继承正确的类,2分
<---- 评分点2:doGet或doPost中任一方法中实现验证码,需要使用out输出,4分
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
第9页,共11页
String result =
for (int i
= 0; i < 4; i++) {
int n = (int) (() *
10);
result += n;
}
PrintWriter out = ter();
(result);
}
<----评分点3:doGet或doPost中任一方法调用实现了验证码功能的方法,2分
protected void doPost(HttpServletRequest
request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
<----评分点4:其他语法,2分
3.
JSP、Servlet和JavaBean综合编程(16分)
<%-- --%> 4分
4分
package bean;
public class Triangle {
private double a; private double b; private double c;
public boolean isTriangle() { return (a + b) > c && (a + c) > b && (b + c) > a; }
public double getArea() {
double s = (a + b + c) 2;
return (s * (s - a) * (s - b) * (s - c));
}
public Triangle() { }
public double getA() { return a; }
public void setA(double a) { this.a = a; }
public double getB() { return b; }
public void setB(double b) { this.b = b; }
public double getC() { return c; }
public void setC(double c) { this.c = c; }
}
4分
package pkg;
public class TriangleServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
第10页,共11页
double a, b, c;
装
订
线
a = ouble(ameter(
b = ouble(ameter(
c = ouble(ameter(
Triangle t = new Triangle(); (a); (b);
(c);
HttpSession session = sion();
if
(!ngle()) { ribute(不能构成三角形
else {
ribute(面积=
direct(
}
protected
void doPost(HttpServletRequest request,
HttpServletResponse response)
throws
ServletException, IOException { doGet(request,
response); }
}
<%-- --%> 4分
$${msg}
第11页,共11页