资源描述
一、选择题(共20题,总计40分,每小题2分)
1.在jsp中,要使用一个表达式,需要用到以下( )元素。
A、<%= %> B、 <% %> C、 <%! %> D、<%@ %>
2.在客户端浏览器的源代码中可以看到( )
A、JSP注释 B、HTML注释 C、JSP注释和HTML注释 D、JAVA注释
3.以下哪个包是page指令默认导入的( )
A、java.lang.* B、java.util.* C、javax.servlet.* D、javax.servlet.jsp.*
4.page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述不正确的是( )
A、<%@ page %>作用于整个JSP页面。
B、可以在一个页面中使用多个<%@ page %>指令。
C、为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的。
D、<%@ page %>指令中的属性只能出现一次。
5.在JSP中调用JavaBean时不会用到的标记是( )
A、<java:bean> B、<jsp:useBean>
C、<jsp:setProperty> D、<jsp:getProperty>
6.Tomcat服务默认情况下使用的端口号是( )
A、8000 B、8080 C、8888 D、80
7.使用request对象的getParameter()方法可以读取一个输入控件的哪个属性值( )
A、type B、value C、size D、name
8.page指令的import属性的作用是( )
A、定义JSP页面响应的MIME类型
B、定义JSP页面使用的脚本语言
C、为JSP页面引入JAVA包中的类
D、定义JSP页面字符的编码
9.如果某个类要成为Servlet,则它应该继承如下哪个类( )
A、HttpServletRequest B、HttpServlet
C、HttpServletResponse D、GenericServlet
10.表单标记中的action属性的作用是( )
A、为表单命名
B、调用客户端验证方法
C、指明表单信息发送的目的地址
D、声明表单的提交方式
11.MVC中V指的是( )。
A、视图层 B、控制层 C、模型层 D、持久化层
12.以下对象中的( )不是JSP的内置对象。
A、request B、session C、application D、bean
13.下述选项中不属于JDBC基本功能的是( )
A、与数据库建立连接 B、提交SQL语句
C、处理查询结果 D、数据库维护管理
14.在JSP中,内置对象( )封装了用户提交的信息,使用该对象可以获取用户提交的信息。
A、session B、request C、response D、out
15.要在session对象中保存属性,可以使用以下哪个语句?( )
A、session.getAttribute("key","value"); B、session.setAttribute("key","value");
C、session.setAtrribute("key"); D、session.getAttribute("key");
16.以下关于JavaBean的描述错误的是( )
A、JavaBean是一个公有java类
B、JavaBean提供给外界使用的方法是公有类型的
C、JavaBean必须有一个带参构造方法
D、在JSP中使用的JavaBean必须放在一个有名包中
17.关于get和post两种请求,下列说法正确的是( )
A、get请求是默认的。
B、get请求处理的数据量大小不受到限制。
C、post请求地址栏里是能看到数据的。
D、post请求可以由doGet方法处理。
18.下列哪个不是Servlet接口的方法( )
A、doGet方法 B、doPost方法 C、init方法 D、forward方法
19.Servlet 使用( )接口的 forward和 include方法进行通信。
A、ServletContext B、ServletConfig
C、RequestDispatcher D、HttpSession
20.使用 response 对象进行重定向时,使用的是( )方法。
A、getAttribute B、setContentType
C、sendRedirect D、setAttribute
二、简答题(4题,每题10分,共40分)
1.include指令标签和include动作标签有什么区别?
2.请写出JSP中5个内置对象。
3.<jsp:setProperty> 动作标签有哪四种格式?
4.请写出Servlet API包中5个类或接口。
三、编程程题(共1题,总计20分)
1. 请编写猜数字功能程序。要求:
(1)编写猜数字界面:guess.jsp ( 3分)
功能:1)在页面中设置一个10以内的随机数,并保存到session中。
2)编写输入猜数的表单(action提交给guessControl)。
(2)编写猜数的JavaBean:NumberBean.java (5分)
功能:1)一个属性num:int类型;
2)一个构造方法(无参数);
3)一个set属性方法与一个get属性方法;
4)一个比较方法:int compare(int digit)
如果输入的digit大于num则返回1;
如果输入的digit小于num则返回-1;
如果输入的digit等于num则返回0;
(3)编写一个控制端Servlet:GuessControl.java(10分)
功能:1)获取输入的数字;
2)获取session的数字;
3)创建NumberBean对象;
4)调用nuberBean对象方法比较;
5)保存比较结果到会话中;
6)转到猜数字结果页面;
(4)编写猜数字结果页面:guessResult.jsp (2分)
功能:1)取出会话中的比较结果信息;
2)打印出猜数字结果。
猜数字运行界面如下图所示:
图1 猜数字页面 图2 输入数字大的结果页面
图3 输入数字小的结果页面 图4 猜中的结果页面
阅卷人
得分
答 题 卡
一、选择题(共20题,总计40分,每小题2分)
题号
1
2
3
4
5
6
7
8
9
10
答案
A
B
A
D
A
B
D
C
B
C
题号
11
12
13
14
15
16
17
18
19
20
答案
A
D
D
B
B
C
A
D
C
C
阅卷人
得分
二、简答题(4题,每题10分,共40分)
1.include指令标签和include动作标签有什么区别?
(1).形式不同:
include 静态标签语法格式为:
<%@ include file=“文件的名字” %>
<jsp:include page=“文件的名字”>
</jsp:include>
(2).作用不同:
如果一个Jsp页面使用include指令插入另一个Jsp文件,被插入的这个Jsp页面中有一个设置页面ContentType属性的page指令。
include 动作标签告诉jsp页面包含一个文件。当Jsp引擎把Jsp页面转译成Java文件时候,告诉Java解释器,这个文件在Jsp运行时候才能包含进来。
2. 请写出JSP中5个内置对象。
request、response、session、application、out、page、pageContext、exception
3.<jsp:setProperty> 动作标签有哪四种格式?
① <jsp:setProperty name=”myBean” property=”*” />
由窗体表单传来的参数值,通过自省机制,设定所有的属性值;
② <jsp:setProperty name=”myBean” property=”myProperty ” />
也是通过自省机制,不过只设定一个myProperty的属性值;
③ <jsp:setProperty name=”myBean” property=”myProperty” param=”ParamName” />
由窗体传来的参数名称为ParamName的值,传给属性名称为myProperty;
④ <jsp:setProperty name=”myBean” property=”myProperty” value=”MyValue” >
它弹性最大,它可以通过value,动态设定JavaBean的属性。
4.请写出Servlet API包中5个类或接口。
Servlet 、ServletContext、RequestDispatcher、ServletConfig、ServeletRequest、ServletResponse、HttpServlet、HttpSession、HttpServletRequest、HttpServletResponse
阅卷人
得分
三、编程题(共1题,总计20分)
1. 请编写猜数字功能程序。要求:
(1)编写猜数字界面:guess.jsp ( 3分)
<body>
<%!
int num=0;
%>
<%
String numStr=(String)session.getAttribute("num");
if(numStr==null){
//第一次产生一个随机数
num=(int)(Math.random()*10);
session.setAttribute("num",""+num);
}
%>
<h3>请输入数字</h3>
<form action="guessControl">
<input type="text" name="num" />
<input type="submit" value="提交"/>
</form>
</body>
(2)编写猜数的JavaBean:NumberBean.java (5分)
package com.my.test;
public class NumberBean {
private int num;
public NumberBean(){
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int compare(int input){
int result=0;
if(input>this.getNum()){
result=1;
}else if(input<this.getNum()){
result=-1;
}else{
result=0;
}
return result;
}
}
(3)编写一个控制端Servlet:GuessControl.java(10分)
public class GuessControl extends HttpServlet {
private NumberBean numberBean;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
//获取数据
String numStr=request.getParameter("num");
if(numStr==null){
numStr="0";
}
int num=Integer.parseInt(numStr);
System.out.println("num="+num);
//创建numberBean对象
numberBean=new NumberBean();
//获取Session中的num
HttpSession session=request.getSession();
String snumStr=(String)session.getAttribute("num");
if(snumStr==null){
snumStr="0";
}
int snum=Integer.parseInt(snumStr);
//设置numberBean的属性num
numberBean.setNum(snum);
//输入的值与session中的值进行比较
int result=numberBpare(num);
String resultStr="";
if(result>0){
session.setAttribute("result", "输入的数大了,请重新输入");
}
if(result<0){
session.setAttribute("result", "输入的数小了,请重新输入");
}
if(result==0){
session.setAttribute("result", "恭喜你猜中啦!");
}
//转到结果页面
RequestDispatcher rd=request.getRequestDispatcher("guessResult.jsp");
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
(4)编写猜数字结果页面:guessResult.jsp (2分)
<h3>猜数结果是:</h3>
<%
String resultStr=(String)session.getAttribute("result");
if(resultStr==null){
resultStr="出错啦";
}
out.println(resultStr);
%>
<br>
<a href="guess.jsp">返回</a>
第5页 共5页
展开阅读全文