forward...>标记的page属性值是相对的URL地址,只能静态的URL。
(错)
15.JSP页面只能在客户端执行。
(错)
16.JSP页面中不能包含脚本元素。
(错)
四、思考题
1.include标记与include动作标记有什么区别?
2.如何保证页面跳转时当前页面与跳转页面之间的联系?
3.如果有两个用户访问一个JSP页面,该页面的程序片将被执行几次?
4.在<%!
和%>之间声明的变量和在<%和%>之间声明的变量有何区别?
5.是否允许一个JSP页面为contentType设置两次不同的值?
6.JSP的特殊字符与Java语言的转义字符关系?
7.请说出一个JSP页面的基本组成。
第三章JSP的内置对象
一、选择题
1.调用getCreationTime()可以获取session对象创建的时间,该时间的单位是(C)。
A)秒B)分秒C)毫秒D)微秒
2.当response的状态行代码为哪个时,表示用户请求的资源不可用?
(D)
A)101B)202C)303D)404
3.一个典型的HTTP请求消息包括请求行、多个请求头和(B)
A)响应行B)信息体C)响应行D)响应头
4.在JSP中为内建对象定义了4种作用范围,即ApplicationScope、SessionScope、PageScope和(A)四个作用范围。
A)RequestScopeB)ResponseScope
C)OutScopeD)WriterScope
5.Form表单的method属性能取下列哪项的值(C)
A)submitB)puts
C)postD)out
6.能在浏览器的地址栏中看到提交数据的表单提交方式是(B)
A)submitB)get
C)postD)out
7.可以利用request对象的哪个方法获取客户端的表单信息(A)
A)request.getParameter()B)request.outParameter()
C)request.writeParameter()D)request.handlerParameter()
8.可以利用JSP动态改变客户端的响应,使用的语法是(A)
A)response.setHeader()B)response.outHeader()
C)response.writeHeader()D)response.handlerHeader()
9.JSP页面中request.getParamter(String)得到的数据,其类型是(C)
A)DoubleB)int
C)StringD)Integer
10.JSP页面程序片中可以使用下列哪个方法将strNumx=request.getParamter(“ix”)得到的数据类型转换为Double类型()
A)Double.parseString(strNumx)B)Double.parseDouble(strNumx)
C)Double.parseInteger(strNumx)D)Double.parseFloat(strNumx)
11.
A)B)- C)D)
12.当利用request的方法获取Form中元素时,默认情况下字符编码是哪个(A)
A)ISO-8859-1B)GB2312C)GB3000D)ISO-8259-1
13.下面不属于标记中的name属性取值的是(D)
A)textB)radioC)checkboxD)picture
14.下面不属于标记中的name属性取值的是(D)
A)passwordB)hiddenC)submitD)textarea
15.
A)sizeB)valueC)selectedD)checked
16.
A)sizeB)valueC)selectedD)checked
17.对于ServletRequest接口的获取请求参数的方法的描述那一项是正确的?
(C)
A)getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法
B)如果一个参数key有多个值,那么getParameter(key)方法会返回空
C)如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组
D)getParameter方法返回Object对象,使用前要强制类型转换:
如Stringstr=(String)request.getParameter(key)
二、判断题
1.respone对象主要用于向客户端发送数据。
(对)
2.Post属于表单的隐式提交信息方法。
(对)
3.表单信息的验证只能放在服务器端执行。
(错)
4.网页中只要使用gb2312编码就不会出现中文乱码。
(错)
5.表单提交的信息就封装在HTTP请求消息的信息体部分,用户使用request对象的getParameter方法可以得到通过表单提交的信息。
(对)
6.request对象的getRemoteHost()方法既能获取客户机的名称,又能获取客户IP地址的方法是(对)
7.同一个客户在同一个Web服务目录中的session对象是相同的,在不同的Web服务目录中的session对象是不相同的。
(对)
8.session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。
(对)
9.session对象可以用来保存用户会话期间需要保存的数据信息。
(对)
10.url重写可以把session对象的id作为url参数传带过去,可以使用request对象的encodeURL(“”)。
(错)
11.application对象对所有用户都是共享的,任何对它的操作都会影响到所有的用户。
(对)
四、思考题
1.请说出JSP中常用的内置对象。
2.简述request对象和response对象的作用。
3.session对象与application对象有何区别?
4.网页中的表单如何定义,通常表单中包含哪些元素?
5.如何处理表单提交的汉字?
6.一个用户在不同的Web服务目录的session相同吗?
7.内置对象的4个作用范围?
什么情况下session会关闭?
8.response.sendRedirect(URLurl)方法的作用?
9.是不是所有Web服务目录共用一个application?
10.怎样使用request、session和application对象进行参数存取?
思考题
(1)如何处理表单提交的汉字?
(2)一个用户在不同的Web服务目录的session相同吗?
(3)内置对象的4个作用范围?
什么情况下session会关闭?
(4)response.sendRedirect(URLurl)方法的作用?
(5)是不是所有Web服务目录共用一个application?
(6)怎样使用request、session和application对象进行参数存取?
(7)HTTP请求消息、响应消息与request和response对象之间的关系?
第四章使用JavaBean
一、选择题
1.JavaBean可以通过相关jsp动作指令进行调用。
下面哪个不是JavaBean可以使用的jsp动作指令?
(D)
A)useBean>B)setProperty>
C)getProperty>D)setParameter>
2.关于JavaBean,下列的叙述哪一项是不正确的?
(C)
A)JavaBean的类必须是具体的和公共的,并且具有无参数的构造器
B)JavaBean的类属性是私有的,要通过公共方法进行访问
C)JavaBean和Servlet一样,使用之前必须在项目的web.xml中注册
D)JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数
3.JavaBean的属性必须声明为private,方法必须声明为(D)访问类型。
A)privateB)static
C)protectD)public
4.JSP页面通过(C)来识别Bean对象,可以在程序片中通过xx.method形式来调用Bean中的set和get方法。
A)nameB)class
C)idD)classname
5.JavaBean的作用范围可以是page、request、session和(A)四个作用范围中的一种。
A)applicationB)local
C)globalD)class
6.下列哪个作用范围的bean,请求响应完成则该Bean即被释放,不同客户的Bean互不相同。
(B)
A)applicationB)request
C)responseD)session
7.下列哪个作用范围的Bean,被Web服务目录下所有用户共享,任何客户对Bean属性的修改都会影响到其他用户。
(A)
A)applicationB)request
C)pageD)session
8.下列哪个作用范围的Bean,当客户离开这个页面时,JSP引擎取消为客户该页面分配的Bean,释放他所占的内存空间。
(C)
A)applicationB)request
C)pageD)session
9.使用getProperty>动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为什么类型的数据,发送到客户端。
(A)
A)StringB)Double
C)ObjectD)Classes
10.使用setProperty>动作标记可以在JSP页面中设置Bean的属性,但必须保证Bean有对应的什么方法。
(B)
A)SetXxx方法B)setXxx方法
C)getXxx方法D)GetXxx方法
11.使用格式setPropertyname="beanid"property="bean的属性"value="<%=expression%>"/>给Bean的属性赋值,expression的数据类型和bean的属性类型(A)。
A)必须一致B)可以不一致
C)必须不同D)无要求
12.在JSP页面中使用setPropertyname="beanid"property="bean的属性"value="字符串"/>格式给Long类型的Bean属性赋值,会调用哪个数据类型转换方法。
(A)
A)Long.parseLong(Strings)B)Integer.parseInt(Stirngs)
C)Double.parseDouble(Strings)D)不确定
13.下列那个调用数据类型转换方法会发生NumberFormatException异常?
(D)
A)Long.parseLong(“1234”)B)Integer.parseInt(“1234”)
C)Double.parseDouble(“123.45”)D)Integer.parseInt(“123a”)
14.在JSP页面中使用setPropertyname="bean的名字"property="*"/>格式,将表单参数为Bean属性赋值,property="*"格式要求Bean的属性名字(B)
A)必须和表单参数类型一致B)必须和表单参数名称一一对应
C)必须和表单参数数量一致D)名称不一定对应
15.在JSP页面中使用setPropetyname="bean的名字"property="bean属性名"param="表单参数名"/>格式,用表单参数为Bean属性赋值,要求Bean的属性名字(D)。
A)必须和表单参数类型一致B)必须和表单参数名称一一对应
C)必须和表单参数数量一致D)名称不一定对应
二、判断题
1.JavaBean的属性可读写,编写时set方法和get方法必须配对。
(错)
2.JavaBean也是Java类,因此也必须有主函数。
(错)
3.JavaBean组件就是Java开发中的一个类,通过封装属性和方法成为具有某种功能和接口的类,所以具有Java程序的特点。
(对)
4.Sun公司把JavaBean定义为一个可重复使用的软件组件,类似于电脑CPU、硬盘等组件。
(对)
5.JavaBean分为可视化组件和非可视化组件。
(对)
6.JavaBean的属性必须声明为private,方法必须声明为public访问类型。
(对)
8.在JSP页面中调用的Bean类中如果有构造方法,必须是public类型且必有参数。
(错)
9.部署JavaBean须在Web服务目录的WEB-INF\classes子目录下建立与包名对应的子目录,并将字节文件复制到该目录。
(对)
10.Javabean中,对于boolean类型的属性,可以使用is代替方法名称中的get前缀,创建Bean必须带有包名。
(对)
11.在JSP页面中使用Bean首先要使用import指令将Bean引入。
(对)
12.修改了Bean的字节码后,要将新的字节码复制到对应的WEB-INF\classes目录中,重新启动tomcat服务器才能生效。
(对)
13.客户在某个页面修改session作用范围Bean的属性,在其他页面,该Bean的属性会发生同样的变化,不同客户之间的Bean也发生变化。
(错)
14.使用setProperty>动作标记,可以使用表达式或字符串为Bean的属性赋值。
(对)
15.使用格式setPropertyname="beanid"property="bean的属性"value="字符串"/>给Bean的属性赋值,这个字符串会自动被转化为属性的数据类型。
(对)
16.表单提交后,setProperty>动作指令才会执行。
(对)
四、思考题
1.JavaBean和一般意义上的Java类有何区别?
2.简述值Bean的编写方法,有哪些注意点?
3.如何实现一个Bean的属性与表单参数的关联?
4.如何在页面的程序片中使用Bean?
5.试述request、session和application有效范围的Bean生命周期?
第五章文件访问
一、选择题
1.Java提供的流类,从功能上看将数据写入文件的流称为(B)
A)输入流B)输出流
C)字符流D)字节流
2.下列File对象的哪个方法能够判断给定路径下的文件是否存在。
(C)
A)canRead()B)canWrite()
C)exists()D)isDirectory()
3.下列File对象的哪个方法能够判断应用程序能否读取给定路径下的文件对象。
(A)
A)canRead()B)canWrite()
C)exists()D)isDirectory()
4.下列File对象的哪个方法能够判断应用程序能否向给定路径下的文件对象写入数据。
(B)
A)canRead()B)canWrite()
C)exists()D)isDirectory()
5.下列File对象的哪个方法能够判断File对象对应的路径是否为文件。
(A)
A)isFile()B)createNewFile()
C)lastModified()D)length()
6.下列File对象的哪个方法能够创建File对象对应的路径,如果创建成功返回true,否则返回false(该目录已经存在)(C)
A)isFile()B)createNewFile()
C)mikdir()D)length()
7.下面是FileInputStream读取文件的代码片段:
Filefile1=newFile(fileName);
FileInputStreamfinput=newFileInputStream(file1);
intsize=finput.available();
BufferedInputStreambuffer1=newBufferedInputStream(finput);
byteb[]=newbyte[90];intn=0;
while((n=buffer1.read(b))!
=-1){
allFilesmess.append(newString(b,0,n));
}buffer1.close();finput.close();
除最后一次外,代码中buffer1.read(b)每次读取文件的字节数?
(A)
A)90B)89
C)nD)si