4.9 习题
一、选择题
1. 在J2EE中,下列( )语句可以获取页面请求中的一个单选框的选项值(单选框的名字为name)。
A. response.getParameter("name");
B. request.getAttribute("name");
C. request.getParameter("name");
D. request.getParameters("name");
2. 在J2EE中,request对象的( )方法可以获取页面请求中一个表单控件对应多个值时的用户的请求数据。
A. String getParameter(String name)
B. String[] getParameter(String name)
C. String getParameterValuses(String name)
D. String[] getParameterValues(String name)
3. 以下对象中作用域最大的是( )。
A. request
B. session
C. application
D. page
4. 在JSP页面中,能够完成输出操作的内置对象是( )。
A. out
B. response
C. request
D. config
5. 要在session对象中保存属性,可以使用以下( )语句。
A. session.getAttribute("key","value");
B. session.setAttribute("key","value");
C. session.setAtrribute("key");
D. session.getAttribute("key");
6. 需要删除session中的某个属性key,可以调用下面的( )方法。
A. remove("key")
B. removeAttribute("key")
C. invalidate()
D. logout()
7. 在J2EE中,假如HttpSession的getLasAccessTime()方法返回值为x,getCreationTime()方法返回值为y,则为x-y( )。
A. 两个连续请求之间间隔的最长时间
B. 最近的两个连续请求之间的时间间隔
C. 最后使用session发送请求的时间和session创建时间的间隔
D. 最后使用session发送请求的时间
8. 以下代码能否编译通过,假如能编译通过,运行时得到的输出结果是( )。
<% request.setAttribute("count",new Integer(0)); Integer count = request.getAttribute("count") ; %> <%=count %>
A. 编译不通过
B. 可以编译运行,输出0
C. 编译通过,但运行时抛出ClassCastException
D. 可以编译通过,但运行无输出
9. 现在session中没有任何属性,阅读下面2个JSP中的代码,将分别输出( )。
A. null,异常信息
B. null,null,
C. 异常信息,异常信息
D. 异常信息,null
10. Form表单提交的信息中含有"name= svse",阅读下面的JSP,a.jsp将输出( )。
接受该请求的JSP:
<% response.sendRedirect(“a.jsp"); %>
a.jsp包含如下代码
<%=request.getParameter(“name") %>
A. null
B. 什么都不输出
C. 异常信息
D. svse
二、判断题
1. <jsp:forward ... >标记的page属性值是相对的URL地址,只能用静态的URL地址。
( )
2. 利用response对象的sendRedirect方法只能实现本网站内的页面跳转,但不能传递参数。
( )
3. contentType属性用来设置JSP页面的MIME类型和字符编码集,取值格式为“MIME类型”或“MIME类型;charset=字符编码集”,response对象调用addHeader方法修改该属性的值。
( )
4. 在J2EE中,重定向到另一个页面,可以用request.sendRedirect("http://www.jb-aptech.com.cn")。
( )
5. 应用application对象能在不同用户之间共享数据。
( )
三、填空题
1. 当客户端请求一个JSP页面时,JSP容器会将请求信息包装在________对象中。
2. 已知文件look.jsp的路径为c:/myjsp/inc,文件login.jsp的路径为c:/myjsp。若使用response的重定向方法由look.jsp跳转到login.jsp中,则正确的写法为________。
3. 当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为________。
4. 列表框的name属性值为"city",并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的java语句为________。
5. 给定一个JSP程序源码如下:
<jsp:include page = "test.jsp"flush = "true"> <jsp:param name = "location"value = "beijing"/> </jsp:include>
在test.jsp中加入________代码片段可以输出参数location的值。
四、简答题
1. JSP中的内建对象包含哪些?试简述这些对象在JSP中的主要功能。
2. response重定向方法sendRedirect()和动作元素<jsp:forward>的区别是什么?
3. application与session对象存储数据变量的方式有何区别?
4. 请说明session对象的生命周期在哪些状况下会结束。
五、编程题
1. 编写一个简单的网上测试系统。要求由2个页面组成,第1个页面显示试题,例如单选题,如图4-41所示。第2个页面获取考生提交的选择,统计考生得分并显示。
图4-41 网上测试单选题
2. 信息的保存和获取。
例如简单的网上购物,将购买者的姓名、商品名保存在session对象中,实现一个Web目录下的页面对session对象中信息的共享。要求创建3个页面,第1个页面输入用户的姓名,第2个页面输入购买商品名的名称,第3个页面实现结账处理。
3. 简单的用户登录。
用户通过输入用户名和密码(假设用户名和密码都是admin)进入用户或管理员页面,拒绝绕过登录页面直接进入用户或管理员页面。
要求创建4个文件,第1个是用户登录页面,此页面输入用户名和密码以及登录类型,如图4-42所示。
图4-42 用户登录页面
第2个文件对提交信息进行检查,如果输入正确,则根据登录类型分别进入管理员或普通用户页面,用重定向的方法实现跳转到这两个页面。如果输入有误,则弹出警示对话框,如图4-43所示,让用户重新输入信息。
图4-43 警示对话框
第3个文件是管理员页面,显示管理员成功登录的信息。
第4个文件是普通用户页面,显示普通用户成功登录的信息。
4. 采用application对象实现一个简单的聊天室。
要求采用application对象记录所有用户的留言信息并在页面上显示出来,如图4-44所示。