JSP命题人错误盘点(持续更新)

来源:互联网 发布:你瞒我瞒网络歌手 编辑:程序博客网 时间:2024/06/05 16:46

1、读下面的程序段:

<span style="white-space:pre"></span><%!int i = 1;%><%=i%><jsp:forward page="a.jsp"></jsp><%=4 * i + 1%>
输出的结果为:() 

A、1 5  B、5    C、1 4  D、1

答案给的D,这题没有正确答案。1.<jsp:forward>标签没有正确闭合,正确闭合应该是这样的<jsp:forward page="a.jsp"></jsp:forward>或者<jsp:forward page="a.jsp"/>,这样的。2.命题人没有正确理解<jsp:forward>标签,结果页面只会显示a.jsp的内容。标签前面的代码会执行,但是不会在浏览器中显示,后面的代码不执行。下面的代码可以在eclipse下观察控制台输出。

<span style="white-space:pre"></span><%!int i = 1;%><%=i%><%System.out.println("forward后面"+i);%><jsp:forward page="a.jsp"></jsp:forward><%=4 * i + 1%><%System.out.println("forward后面"+i);%>

2、访问以下JSP网页时的输出结果是什么?

<%!int i = 0;%><%++i;%>a=<%=i %>

A、a=0 B、a=1 C、编译错误  D、以上皆非

答案给的是C,正确答案应该是B,在eclipse下运行通过


3、从(),被称为一个会话期。
A、访问者打开浏览器并连接到服务器开始,访问者关闭浏览器离开该服务器 
B、服务器启动,服务器关闭 
C、访问者连接到服务器,服务器关闭 
D、服务器启动,访问者关闭浏览器
此题答案给的是A,个人认为答案里没有一个对的。会话应该是连接到服务器开始,一直到sessionID失效结束,而sessionID失效有两种,关闭浏览器不一定会失效,你用URL重写访问的时候原来的会话还在。


4、关于JavaBean 正确的说法是:A 
A、Java 文件与 Bean 所定义的类名可以不同,但一定要注意区分字母的大 小写 
B、在JSP 文件中引用Bean,其实就是用<jsp:useBean>语句
C、被引用的Bean文件的文件名后缀为.java
D、Bean文件放在任何目录下都可以被引用

A选项也有问题,因为Bean是public类,Java 文件名和Bean 所定义的类名必须相同。也许有人会想,一个java文件可以定义多个类,文件名和非bean的类一样不久可以了。但是请注意一个java文件只能定义一个public类,文件名必须与public类相同。没有public修饰的类,访问权限是默认的包内友好,这样就不能被其它类和JSP调用了,不符合bean的特征,不是bean

后续:B选项应该是正确的,useBean并不需要improt属性



5、 对于预定义<%!预定义%>的说法错误的是:(C)
A、一次可声明多个变量和方法,只要以“;”结尾就行  
B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量         
D、在预定义中声明的变量将在JSP页面初始化时初始化
A选项描述有问题,只有多个变量以分号结尾,方法应该是以大括号结尾


6、以下方法,哪个可使session无效?(A)
A、session.removeAttribute(String key)
B、session.invalidate()
C、session.setAttribute(String key) 
D、session.getAttribute(String key) 
答案有错,应选B
A 是移除session中的某个属性,通过该属性的名称也就是参数"key"
B 是使当前session失效


7、applicatiin对象能在()间共享
A、某个访问者所访问的当前页面
B、某个访问者所访问的网站的各个页面之间 
C、该服务器上的所有的访问者的所有jsp页面
D、该服务器上的所有的访问者的所有jsp页面和Java程序
一部分答案给的是C、另一部分答案给的是D
答案应该是D,但是描述确实存在问题,ABCD表示的是从小到大四个范围,在这四个范围说能共享applicatiin对象一点都没错

8、当( C )时,JSP 引擎将消灭某一个 session 对象。 
A、有新客户访问时 
B、web 应用服务器启动后,第一个客户来访时 
C、该 session 对应的客户关闭浏览器 
D、该 session 对应的客户刷新 jsp 页面时
C选项有问题,不知道是那本书这么坑,session对象失效只有两种,一是调用invalidate()主动失效,二是超时被动失效,关闭浏览器仍然可以通过URL重写找回原来的会话。如果你面对的是考试,你就选C吧




0 0
原创粉丝点击