JSP测试题

一、 填空题

  1. 一个完整的 JSP 页面是由普通的 HTML 标记、JSP 指令标记、JSP 动作标记、变量声明与方法声明、程序片、表达式、注释 7 种要素构成。

  1. JSP 页面的基本构成元素,其中变量和方法声明(Declaration) 、表达式(Expression)和 Java 程序片(Scriptlet)统称为 JSP 脚本元素 。

  1. 指令标记、JSP 动作标记统称为 JSP标记

  1. “<%!”和“%>”之间声明的方法在整个页面内有效,称为 页面的成员方法

  1. 在“<%!”和“%>”之间声明的变量又称为 页面成员变量 ,其作用范围为整个 JSP 页面。

  1. JSP 页面的程序片中可以插HTML标记。

  1. 当 JSP 页面的一个客户线程在执行 synchronized方法时,其他客户必须等待。

  1. JSP 页面中,输出型注释的内容写在 <!--和 -->之间。

  1. JSP 声明函数时,如果在前面加上synchronize关键字时,功能是当前一个用户在执行该方法其他用户必须等待,直到该用户完成操作。

  1. Page 指令的属性 Language 的默认值是java

  1. 在 Error.jsp 页面中,要使用 Exception 对象,必须设置的指令是<%@page isErrorPage=”true”%>

  1. 要使 java bean 在整个应用程序的声明周期中,被该应用程序中的任何 JSP 文件所使用,则该 java bean 的 Scope 属性必须设置为 application

  1. JSP 的session 用户访问时的一些信息。

  1. response 对象的sendRedirect(URL url)方法可以将当前客户端的请求转到其他页面去。

  1. 当客户端请求一个 JSP 页面时,JSP 容器会将请求信息包装在request对象中。

  1. response.setHeader(“Refresh”, “5”)的含义是指 页面刷新时间为5秒

  1. 在 JSP 中为内置对象定义了 4 种作用范围,即Application Scope,Session Scope,Page Scope,Request Scope四个作用范围。

  1. 表单的提交方法包括get和set方法。

  1. 表单标记中的 action属性用于指定处理表单数据程序 url 的地址。

  1. JavaBean 是一个 java类,它必须有一个无参的构造方法。

  1. JSP 的是内部对象可以直接使用,它是由Web容器创建的。

  1. 在 JSP 中,页面间对象传递的方法:request,session,application,cookie等方法。

  1. 在 jsp 页面中,可以用 request 对象的getPatameterValues()方法来获取其他页面传递参数值的数组。

  1. 在 JSP 中使用 JavaBean 的标签是 <jsp:useBean class="BeanName" id=Bean实例>,其中 id 的用途是实例化一个Bean对象

  1. JavaBean 中用一组 set 方法设置 Bean 的私有属性值,get 方法获得 Bean 的私有属性值。 set 和 get 方法名称与属性名称之间必须对应,也就是:如果属性名称为 xxx,那么 set和 get 方法的名称必须为 setxxx()和getxxx()

  1. 用户在实际 Web 应用开发中,编写 Bean 除了要使用 import 语句引入 Java 的标准类,可能还需要自己编写的其他类。用户自己编写的被 Bean 引用的类称之为Bean的辅助类

  1. 创建 JavaBean 的过程和编写 Java 类的过程基本相似,可以在任何 Java 的编程环境下完成 编写,编译和发布

  1. 布置 JavaBean 要在 Web 服务目录的 WEB-INF\classes 文件夹中建立与 Bean的包名 对应的子目录,用户要注意目录名称的大小写。

  1. 使用 Bean 首先要在 JSP 页面中使用import指令将 Bean 引入。

  1. 要想在 JSP 页面中使用 Bean,必须首先使用jsp:userBean动作标记在页面中定义一个JavaBean 的实例。

  1. JSTL 标签库中,c:forEach标签用来循环输出集合中的数据。

  1. 获取 request 作用域中名为“uname”值的 EL 表达式是 ${unname}

  1. 编写过滤器类需要实现的Filter接口

  1. Filter 接口中最主要的方法是 doFilter方法

  1. 实现 Filter 接口的类需要重写 doFilter方法、init方法、destroy方法

二、 选择题

1.

如果做动态网站开发,以下( A )可以作为服务器端脚本语言(选择一项)

A.

java

B.

jsp

C.

javascript

D.

html

2.

JSP 中存在如下代码:<%="2"+"4" %>,运行该 JSP 后,以下说法正确的是( C )(选 择一项)

A.

没有任何输出

B.

输出 6

C.

输出 24

D.

指令将引发错误

3.

在 JSP 中,使用( C)对象的( )方法可完成网页重定向(选择一项)

A.

request,getRequestDispatcher()

B.

request,forward()

C.

response,sendRedirect()

D.

response,setRequestDispatcher()

4.

在 JSP 中使用 JDBC 语句访问数据库,正确导入 SQL 类库的语句是(A )(选择一项)

A.

<%@ page import="java.sql.*" %>

B.

<%@ page import="sql.*" %>

C.

<% page import="java.sql.*" %>

D.

<%@ import="java.sql.*" %>

5.

对于分页查询, 以下说法不正确的是(B )(选择一项)

A.

可以减轻服务器压力

B.

对于程序开销极大

C.

以提高用户体验

D.

对于不同数据库有不同的 SQL 指令

6

对于 ServletRequest 接口的 getAttribute()方法,说法正确的是( A )(选择一项)

A.

获取指定名称的属性值

B.

设置指定属性的值

C.

删除指定属性的值

D.

以上都不对

7.

对 JSTL 说法中正确的是(AB )(选择二项)

A.

foreach 用来循环输出集合中的数据

B.

set 标签用来定义变量

C.

out 标签只能输出 session 中的变量值

D.

if 标签主要用来执行数据库操

8.

在 JSP 页面中,下列( A )表达式语句可以获取页面请求中名字为 title 的文本框的 内容。(选择一项)

A.

<%=request.getParameter("title")%>

B.

<%=request.getAttribute("title")%>

C.

<%=request.getParameterValues("title")%>

D.

<%=request.getParameters("title")%>

9.

jsp 在执行过程中经过(A)阶段,由 web 容器将之转换成 java 源代码( )(选择一项)

A.

翻译

B.

编译

C.

执行

D.

响应

10.

jsp 在执行过程中经过()阶段,会将 java 源码转换成 class 文件( B )(选择一项)

A.

翻译

B.

编译

C.

执行

D.

响应

11.

在 JSP 的小脚本中,使用以下(C )语句可以使浏览器重定向到另一个页面(选择一 项)

A.

request.sendRedirect("http://www.jb-aptech.com.cn");

B.

request.sendRedirect();

C.

response.sendRedirect("http://www.jb-aptech.com.cn");

D.

response.sendRedirect();

12.

JSP 文件 test.jsp 文件如下所示,运行时,将发生(D)。(选择一项) <html> <% String str = null;%> str is <%=str%> </html>

A.

编译阶段出现错误

3

B.

翻译阶段出现错误

C.

执行字节码时发生错误

D.

运行后,浏览器上显示:str is null

13.

JSP 页面的 page 指令主要用于设置该页面的各种属性,page 指令的 language 属性的 作用是( B)。(选择一项)

A.

将需要的包或类引入到 JSP 页面中

B.

指定 JSP 页面使用的脚本语言,默认为 Java

C.

指定 JSP 页面采用的编码方式,默认为 text/html

D.

服务器所在国家编码

14.

在 java Web 应用开发中,Servlet 程序需要在( B)文件中配置。(选择一项)

A.

jsp

B.

web.xml

C.

struts.xml

D.

servlet.xml

15.

在 Java EE 中,HttpServletResponse 的(B )方法用于一个 HTTP 请求重定向到另 一个资源。(选择一项)

A.

sendURL()

B.

sendRedirect()

C.

forward()

D.

redirectURL()

16.

在 JSP 页面中进行访问控制时,一般会使用 JSP 的(B )内置对象实现对用户的会话跟 踪(选择一项)

A.

request

B.

session

C.

response

D.

application

17.

在 JSP 页面中有如下 Java 代码,一共存在( B)处错误(选择一项)

<%

String userName= (String)session.getParameter("userName");

if(userName==null)

{

%>

您尚未登录!

<%

}

else

{

%>

欢迎您,<%=userName %> <% } %>

A.

0

B.

1

C.

2

D.

3

18.

在 JSP 中,以下哪个方法可以正确获取复选框的值(C )(选择一项)

A.

request.getParameterValue()

B.

response.setParameterValues()

C.

request.getParameterValues()

D.

request.getParameter()

19.

在一个 jsp 页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择 一项)

A.

表达式

B.

小脚本

C.

指令

D.

注释

20.

在 JSP 中,以下( C)技术最适合实现购物车的存储(选择一项)

A.

page

B.

request

C.

session

D.

application

21.

以下 JSP 关键代码的运行效果为( A)。(选择一项) <% Map map=new HashMap(); map.put("a","Java"); map.put("b","JSP"); map.put("a","C#"); request.setAttribute("map",map); %> ${map.b} ${map["a"]}

A.

JSP C#

B.

JSP JAVA

5

C.

运行时出现错误

D.

什么也不输出。

22.

以下 JSP 代码片段的输出结果是(D )(选择一项)

<%

String getName(String name){

return name.subString(0,3);

}

%>

姓名:<%=getName("齐德龙东强")%>

A.

姓名:

B.

姓名:齐德

C.

姓名:齐德龙

D.

编译错误

23.

index.jsp 中代码如下,可以正确填写到横线处的代码为( AB)(选择二项) <%@ pae language="java" pageEncoding="ISO-8859-1"___ %> <% Date date = new Date(); %> <%=date%>

A.

import="java.util.*"

B.

import="java.util.Date"

C.

package="java.util.*"

D.

package="java.util.Date"

24.

以下 JSP 代码运行后的结果为(B )。(选择一项) <%int i =8;%> <%=i+"8"%>

A.

i8

B.

88

C.

16

D.

编译错误

25,在下 JSP 代码,用户访问 login.jsp 页面点击“登录”后的显示结果是(C )。(选择一项)

login.jsp 页面代码如下:

<form action="display.jsp">

<input type="text" name="u1" value="admin1"/>

<input type="text" name="u2" value="admin2"/>

<input type="submit" value="**登录"/>**

</form>

display.jsp 页面代码如下:

<%

request.setAttribute("x","admin3"); request.getRequestDispatcher("success.jsp").forward(request,response);

%>

success.jsp 页面代码如下:

<%=request.getParameter("u1")%>

<%=request.getAttributer("x")%>

A.

admin1 admin2

B.

admin1 null

C.

admin1 admin3

D.

null admin3

26.

如下 JSP 代码输出集合中各元素,横线处应填写(AC )。(选择二项) <% List<String> strs= new ArrayList<String>(); strs.add("北京"); strs.add("上海"); strs.add("浙江"); request.setAttribute("strs",strs); %> <c:forEach var="strList" items=" "> <c:out value="__ ">/c:out /c:forEach

A.

${strs},${strList}

B.

${strList},${strs}

C.

${requestScope.strs},${strList}

D.

${strList}, ${requestScope.strs}

27.

假设当前为 2013 年 4 月 15 日,则如下 JSP 代码输出结果为(A )。(选择一项) <%@page import="java.util.Date"%> <%@ page import ="java.text.SimpleDateFormat"%> <% SimpleDateFormat formater=new SimpleDateFormat("yyyy 年MM 月dd 日"); String strTime = formater.format(new Date()); %> <%=strTime%>

A.

2013 年 04 月 15 日

B.

2013 年 05 月 15 日

C.

13 年 4 月 15 日

D.

编译错误

28以下 JSP 关键代码的功能为输出"姓名:陈小斌",横线处应填写( AC).(选择二项)

<%

Map stus = new HashMap(); stus.put("stu1","王晓"); stus.put("stu2","黄青"); stus.put("stu3","陈小斌"); request.setAttribute("stuList",stus); %> 姓名:

A.

${stuList.stu3}

B.

${stuList[stu3]}

C.

${stuList["stu3"]}

D.

${stuList."stu3"}

29.

如下 JSP 代码输出集合中各元素,横线处应填写(AC )。(选择二项) <% List<String> strs= new ArrayList<String>(); strs.add("北京"); strs.add("上海"); strs.add("浙江"); request.setAttribute("strs",strs); %> <c:forEach var="strList" items=" "> <c:out value="__ ">/c:out /c:forEach

A.

${strs},${strList}

B.

${strList},${strs}

C.

${requestScope.strs},${strList}

D.

${strList}, ${requestScope.strs}

30.

在部署带有 Servlet 的 Java Web 程序时,( D )不是必需的。(选择一项)

A.

web.xml 文件

B.

WEB-INF 文件夹

C.

classes 文件夹

D.

csses 文件夹

31.

在 JSP 中,以下哪个方法可以正确获取复选框的值( C )(选择一项)

A.

request.getParameterValue()

B.

response.setParameterValues()

C.

request.getParameterValues()

D.

request.getParameter()

32.

JSP 中的有很多内置对象可以方便程序开发,其中不包括(C )(选择一项)

A.

out

B.

request

C.

redirect

D.

response

33.

在一个 jsp 页面中包含了这样一种页面元素,<% int i = 10; %>这是( B )(选择 一项)

A.

表达式

B.

小脚本

C.

JSP 指令

D.

注释

34.

在 JSP 中,以下( C)技术最适合实现购物车的存储(选择一项)

A.

page

B.

request

C.

session

D.

application

35.

在使用表单提交数据时,如果<form>标签的 method 属性未指定的时候,则以下说法 中正确的是( B )(选择一项)

A.

默认为 POST 请求

B.

默认为 GET 请求

C.

默认为 Fast 请求

D.

编译错误

36.

如果要把一个“accp”字符串信息放在 session 对象里,则下列正确的是(A )(选 择一项)

A.

session.setAttribute("message","accp");

B.

session.setAttribute(message,"accp");

C.

session.setAttribute("accp","message");

D.

session.setAttributes("message","accp");

37.

在 JSP 中,假设表单的 method="post",在发送请求时中文乱码处理的正确做法是 ( A )(选择一项)

A.

request.setCharacterEncoding("utf-8");

B.

response.setCharacter("utf-8");

C.

request.setContentType("text/html;charset=utf-8");

D.

response.setContentType("text/html;charset=utf-8");

38.

在 JSP 中,对于数据的共享可通过不同的作用域对象实现,如果该数据仅限当前页面 有效,可选择的作用域对象(A )。(选择一项)

A.

pageContext

B.

request

C.

session

9

D.

application

39.

jsp 中,对 ServletRequest 接口提供的 setAttribute()方法共享数据,对此,以下 说法正确的是(A )(选择一项)

A.

其原型是 setAttribute(String key,Object value),第一个参数表示变量名 称,第二个参数表示要存入的数据

B.

其原型是 setAttribute(Object value,String key),第一个参数表示变量名 称,第二个参数表示要存入的数据

C.

其原型是 setAttribute(String key,String value),第一个参数表示变量名 称,第二个参数表示要存入的数据

D.

其原型是 setAttribute(String value,List value),第一个参数表示变量名 称,第二个参数表示要存入的数据

40.

在 JSP 中,pageContext、request、session、application 均提供了存取数据的通 用方法,假设已经在 session 中存入了名为"currentUser"的 User 对象,则取出该数据的正确语句是( BC )(选择二项)

A.

User user = session.getAttribute("currentUser");

B.

User user = (User)session.getAttribute("currentUser");

C.

Object user = session.getAttribute("currentUser");

D.

String user = (String)session.getAttribute("currentUser");

三、 判断题

  1. JSP 引擎执行字节码文件的主要任务之一是直接将 HTML 内容发给客户端。(T)

  1. JSP 页面中的变量和方法声明(Declaration)、表达式(Expression)和 Java 程序片

(Scriptlet)统称为 JSP 标记。(T)

  1. JSP 页面中的指令标记、JSP 动作标记统称为脚本元素。(F)

  1. 在“<%!”和“%>”标记之间声明的 Java 的变量在整个页面内有效,不同的客户之间不共享。(F)

  1. 在“<%!”和“%>”标记之间声明的 Java 的方法在整个页面内有效。(T)

  1. 页面成员方法不可以在页面的 Java 程序片中调用。(F)

  1. 程序片变量的有效范围与其声明位置有关,即从声明位置向后有效,可以在声明位置后的程序片、表达式中使用。(T)

  1. 程序片变量不同于在“<%!”和“%>”之间声明的页面成员变量,不能在不同客户访问页面的线程之间共享。(T)

  1. JSP 中 Java 表达式的值由服务器负责计算,并将计算值按字符串发送给客户端显示。(T)

  1. 在 Java 程序片中可以使用 Java 语言的注释方法,其注释的内容会发送到客户端。(F)

  1. 不可以用一个 page 指令指定多个属性的取值。(F)

  1. jsp:include 动作标记与 include 指令标记包含文件的处理时间和方式不同。(T)

  1. jsp:param 动作标记不能单独使用,必须作为 jsp:include、jsp:forward 标记等的子标记使用,并为它们提供参数。(T)

  1. jsp:forward...标记的 page 属性值是相对的 URL 地址,只能静态的 URL。(F)

  1. JSP 页面只能在客户端执行。(F)

  1. JSP 页面中不能包含脚本元素。(F)

  1. Page 指令不能定义当前 JSP 程序的全局属性。(F)

  1. 在 JSP 中,<%!intc=5;out.print(c);%>此式正确.。(F)

  1. jsp:getProperty中的 name 及 property 区分大小写。(T)

  1. JSP 主要的指令有 page,import,include 等三个(F)

  1. 当同时有多个请求发送到一个 Servlet 时,服务器将会为每个请求创建一个新的线程来处理客户端的请求。(T)

  1. HTML 称为超文本元素语言,它是 HypertextMarkedLanguage 的缩写。(T)

  1. 一个 HTML 文档必须有<head>和<title>元素。(F)

  1. 超级链接不仅可以将文本作为链接对象,也可以将图像作为链接对象。(T)

  1. 表单域一定要放在<form>元素中。(T)

  1. 盒子模型中的 top、right、bottom、left 属性取值即可以是像素数,也可是百分比,并且只有父容器的 position 取值为非 static 值时才有效。(T)

  1. 用户在浏览器中输入 http://127.0.0.1:8080/ch2/ch2_1.html 即可访问本机上的该页面。(T)

  1. 在网页中图形文件与网页文件是分别存储的。(T)

  1. 绝度路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。(T)

  1. 超级链接<a>标记的 target 属性取值为链接的目标窗名,可以是 parent、blank、self、 top。(F)

  1. Tomcat 服务器支持直接使用 application 对象。(F)

  1. out 对象是一个输出流,它实现了 javax.servlet.JspWriter 接口,用来向客户端输出数据。(T)

  1. 利用 response 对象的 sendRedirect 方法只能实现本网站内的页面跳转,但不能传递参数。(F)

  1. JSP 的 Response 对象作用是向客户端发送数据,但是一次会话过程,一个 Response 对象只能包含一个 Coolie 和一个 HTTP 文件头。否则抛出内存越界异常。(F)

  1. 在 MVC 模式中,因为 Servlet 负责创建 JavaBean,所以 JavaBean 的构造函数可以带有参数,除了保留 get 和 set 规则外,还可以有其他功能的函数。(T)

  1. JSP 是 Servlet 的升级版本,JSP 出来后,Servlet 也就退出了历史的舞台。(F)

  1. JSP 输出表达式,正确的语法规则是<%=表达式%>。(T

  1. JavaBean 的属性可读写,编写时 set 方法和 get 方法必须配对。(F)

  1. JavaBean 也是 Java 类,因此也必须有主函数。(F)

  1. 和过滤器相关的接口主要有:Filter、FilterConfig 和 FilterChain。(T)

四、 简答题

  1. 相比 servlet,jsp 的优势在哪里?

JSP的优点是擅长于网页制作,生成动态页面,比较直观。 Servlet是纯Java语言,擅长流程处理和业务逻辑。 Servlet的缺点是生成的动态网页不直观。

  1. 画图说明访问 a.jsp 的整个流程。

(1)当先访问某一个JSP文件时,先生成对应的java(2)通过JVM编译。class,解释执行.class(3)通过out一个一个执行HTML页面 (4)浏览器解析HTML

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值