JSP程序设计期末考试试卷(A卷)
专业
级
JSP程序设计
课程
题号 一 二 三 四 总分 统分人 得分
得分 评卷人 一、选择题:本大题共15小题,每小题2分,共30分,在每小题给出的四个选择中,只有一项是符合题目要求的,将正确答案填在试题对应的( )上。
1.JSP页面以( B)为扩展名进行保存。
A. .jps B. .jsp C. .java D. .JSP 2.在JSP中如果要导入 java.io.* 包,应该使用( A )指令。 A. page B. taglib C. include D. forward 3.如果当前JSP页面出现异常时需要转到一个异常页,需要设置page 指令的( D)属性。
A. Exception B. isErrorPage C. error D. errorPage 4.JSP中的隐式注释为(
C )。
A. // 注释内容 B. <!—注释内容-->
C. <%--注释内容--%> D. /* 注释内容 */ 5.使用response对象进行重定向时使用的方法为( B )。
A.getAttribute( )
B. sendRedirect( ) C. setContentType( )
D. setAttribute( ) 6.如果把用户名变量UserName放在session对象中,下面语句正确的是( D) A.session.setName(UserName)
B. session.setName(“name”,UserName) C. session.setAttribute(UserName)
D. session.setAttribute(“name”,UserName) 7.在JSP中,test.jsp文件中有如下一行代码:
<jsp:useBean id=”user” scope=”_____” type=”com.UserBean”/> 要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入( C )。
A.page
B.request
C.session
D.application 8.在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是(
C
)。
A. page
B. request
C. response
D. application
.
.
9.在JSP中,(
A
)动作用于将请求转发给其他JSP页面。
A.forward
B.include
C.useBean
D.setProperty 10. JSP中使用<jsp:getProperty>标记时,不会出现的属性是:(C)。
A.name
B.property
C.value
D.以上皆不会出现 11. 在<c:choose>标记中包含哪个标记( D )? A.case
B.choose
C.check
D.when 12.下面哪个标记产生的结果同<%=var%>( C )。
A. <c:set value=var>
B. <c:var out=${var}>
C. <c:out value=${var}>
D. <c:out var=“var“>
13. 每次传递请求或响应时调用Filter的( B )方法。
A.init()
B.doFilter()
C.destroy()
D.getInitParameter 14. Struts Bean的(
B
)标记检索Web应用程序资源的结果。
A.define
B.include
C.message
D.page 15.Servlet程序的入口点是:(A ) A.init() B.main() C.service() D.doGet()
得分 评卷人 二、填空题:本大题共12小题,20个空,每空1分,共20分,将正确答案填在相应的空格处。
1. JSP 是______sun_______ 公司倡导,由多家公司参与一起建立的一种动态网页技术标准,主要用于开发动态网页。
2. 指令元素分为三种:它们分别是:Page
、Include
、和Taglib。
3. JDBC的主要任务是: 与数据库建立连接 、 发送SQL语句 、 处理结果 。
4. Servlet的生命周期分三个时期: 装载Servlet 、 创建一个Servlet实例 、 销毁 。
5. 在JSP中,当执行了查询操作时,一般将查询结果保存在 ResultSet 对象中。
6. 在JSP规范中,可以使用两种格式的注释:一种是输出注释;别一种 是隐藏注释 。
7. 在JSP内置对象中,与请求相关的对象是
Request
对象。
8. 客户端向服务器端提交数据的方式通常有两种:一种是Get提交方式;另一种是Post提交方式。
9. 在JSP中,可以使用 <jsp:SetProperty> 操作来设置Bean的属性,也可以使用<jsp:GetProperty> 操作来获取Bean的值。
10. 异常的处理,可在该 方法的代码段中包含3类代码:try
、 catch和finally代码块。
11. JDBC中为Statement接口提供了3种执行方法,它们是:executeUpdate方法、executeQuery方法
、execute方法 。
12. 取表单(<form>)提交的参数,通常使用的内部对象是request ,方法是 getParameter
。
得分 评卷人 三、简答题:本大题共5小题,每小题6分,共30分。答案请写在相应试题的后面。
1. Jsp工作原理是什么? 答:当我们访问一个JSP页面的时候,这个文件首先会被JSP引擎翻译为一个Java源文件,其实就是一个Servlet,并进行编译,然后像其他Servlet一样,由Servlet引擎来处理。Servlet引擎装载这个类,处理来自客户的请求,并把结果返回给客户 2.JSP有哪些内置对象?作用分别是什么? 答:JSP共有以下9种基本内置组件:
1. request用户端请求,此请求会包含来自GET/POST请求的参数 2. response网页传回用户端的回应 3. pageContext网页的属性是在这里管理 4. session与请求有关的会话期 5. Application servlet正在执行的内容 6. out用来传送回应的输出 7. configservlet的构架部件 8. pageJSP网页本身 9. exception针对错误网页,未捕捉的例外 3.jsp有哪些基本动作?作用分别是什么? 答:JSP共有以下6种基本动作 1. jsp:include:在页面被请求的时候引入一个文件。
2. jsp:useBean:寻找或者实例化一个JavaBean。
3. jsp:setProperty:设置JavaBean的属性。
4. jsp:getProperty:输出某个JavaBean的属性。
5. jsp:forward:把请求转到一个新的页面。
6. jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记 4. 说明MVC设计模式中,M、V、C分别代表什么,有什么作用。
答案:
M代表Model(模型),该组件是对软件所处理问题逻辑的一种抽象,封装了问题的核心数据,逻辑和功能实现,独立于具体的界面显示以及I/O操作。
V代表View(视图),该组件将表示模型数据,逻辑关系以及状态信息,以某种形式展现给用户。视图组件从模型组件获得显示信息,并且对于相同的显示信息可以通过不同的显示形式或视图展现给用户。
C代表Controller(控制器),该组件主要负责用户与软件之间的交互操作,控制模型状态变化的传播,以确保用户界面与模型状态的统一。5.JavaBean的主要规范是什么?
5.简述使用JDBC技术的主要步骤? 答案:
1.注册和加载驱动器 ; 2.与数据库建立连接; 3.发送SQL语句; 4.处理结果; 5.关闭连接;
得分 评卷人 四、编程题:本大题共2小题,每小题10分,共20分。答案请写在试题后面的空白处。
1.编写JSP页面分别显示1—10之间各数字的阶乘。
答案:<%@ page contentType=“text/html;charset=GB2312“ %> <HTML> <HEAD> <TITLE>阶乘(Factorial)</TITLE> </HEAD> <BODY> <FONT size=4> <%!
long Factorial(int n)
{
int sum=1;
for(int i=1;i<=n;i++)
{sum=sum*i;}
return sum;
} %> <P>1到10之间的各数字的阶乘</P> <%
long sum;
for(int j=1;j<=10;j++)
{
sum=Factorial(j);
out.print(“<BR>“+j+“!=“+sum);
} %> </BODY> </HTML>
2. 创建一个名为worker.java的Bean,用来描述工人的信息,分别是姓名,工号,身高,体重,在一个名为work.jsp的页面中使用这个Bean,通过<jsp:setProperty>动作设置Bean的各个属性,通过<jsp:getProperty>动作显示出Bean的各个属性的值。
答案:
Work.java package ccc; public class Worker {
String name=null;
long number;
double height,weight;
public String getName()
{return name;
} /*public String getName()
{try
{byte b[]=name.getBytes(“ISO-8859-1“);
name=new String(b);
return name;
}
catch(Exception e)
{return name;}
}*/
public void setName(String newName)
{name=newName;}
public long getNumber()
{return number;}
public void setNumber(long newNumber)
{ number=newNumber;}
public double getHeight()
{return height;}
public void setHeight(double newHeight)
{height=newHeight;}
public double getWeight()
{return weight;}
public void setWeight(double newWeight)
{weight=newWeight;} } Work.jsp <%@ page contentType=“text/html;charset=GB2312“ %> <HTML> <BODY bgcolor=cyan><Font size=4>
<jsp:useBean id=“zhang“ class=“ccc.Worker“ scope=“page“ >
</jsp:useBean> <jsp:setProperty
name= “zhang“
property=“name“ value=“张小三“
/> <P>名字是:
<jsp:getProperty
name= “zhang“
property=“name“
/> <jsp:setProperty
name= “zhang“
property=“number“ value=“1999001“
/> <P>工号是:
<jsp:getProperty
name= “zhang“
property=“number“
/> <% double height=1.70; %> <jsp:setProperty
name= “zhang“
property=“height“ value=“<%=height+0.05%>“
/> <P>身高是:
<jsp:getProperty
name= “zhang“
property=“height“
/> 米 <jsp:setProperty
name= “zhang“
property=“weight“ value=“67.65“
/> <P>体重是:
<jsp:getProperty
name= “zhang“
property=“weight“
/> 公斤 </FONT> </BODY> </HTML>