JSP相关练习题及答案(有详解)

1.下列不是JSP隐含变量的是______。

A、request
B、out
C、context
D、session
解析:JSP有九大隐含对象,out, request, response, config, session, application, page, pageContext, exception
2.可以在以下哪个____标记之间插入变量与方法声明?

A、<% 和 %>

B、 <%!和 %>

C、</ 和 %>

D、<% 和 !>
解析:

标签作用
<% %>可定义局部变量,编写语句,不能进行方法定义 ,也可输出内容
<%! %>可定义全局变量,方法,类
<%= %>之间插入表达式,不能是语句,主要用来输出内容

3.在J2EE中,在一个JSP文件中,有表达式<%=2+3 %>,它将输出______。

A、2+3

B、5

C、23

D、不会输出,因为表达式是错误的
解析:2+3是一个表达式,2+3=5,即输出结果5

4.在JSP中,以下的page指令设置了使用的脚本语言是Java,且导入了!java.rmi.*!和java.util.*包.正确的是___

A、<%@ page Language=“Java”, import=”java.rmi.;java.uitl. ”%”>

B、<%@ page language=“Java” Import=”java.rmi.,java.uitl. ”%”>

C、<%@ page language=“Java”; import=”java.rmi.;java.uitl. ”%”>

D、<%@ page language=“Java” import=”java.rmi.* ,java.uitl.* ”%>
解析:page指令对页面的某些特征进行描述,语法格式为:
<%@ page 属性名1=“值1” 属性名2=“值2” …%> 注意:属性之间用空格表示

5.下列不属于JSP构成元素的是_____

A、脚本

B、声明

C、表达式

D、JavaScript
解析:

JSP组成元素介绍
模板元素html、xml
注释元素html注释,jsp注释 等
指令元素page指令,,include指令,taglib等
脚本元素声明,表达式,scriptlets
动作元素jsp:include,jsp:forward等

6.在JSP中如果要导入java.io.* 包,应该使用______指令

A、page

B、include

C、taglib

D、Forward
解析:page的常用指令包括iimport 属性,其作用是导入任何类类名,包名,且Import是唯一可以声明多次的page属性,可以一次引用多个类,中间用英文逗号隔开

7.在JSP中,page指令的____属性用来引入需要的包或类。

A、extends

B、import

C、languge

D、contentType
解析:page的常用指令包括import,language,contType 属性,
import作用是导入任何类类名,包名,
language是解释该JSP文件时采用的语言,默认为java,
contentType让客户端浏览器该属性判断文档类型

8.在JSP中,只有一行代码:<%=A+B%>,运行将输出_____。

A、A+B
B、AB
C、113
D、没有任何输出,因为表达式是错误的
解析:这个表达式显而易见是错误的
若表达式是<%= ‘A’+‘B’>, 单引号是这两个字母十进制则A在ASC码中为 65 .B=66,即输出131
若表达式为<%= “A+B”>,拼接字符串,则输出A+B
若表达式为<%= A+B>,没有单引号也没有双引号 并且A和B 也没有赋值 会报错

9.下列动态网页和静态网页的根本区别描述错误的是______。

A、静态网页服务器端返回的HTML文件是事先存储好的

B、动态网页服务器端返回的HTML文件是程序生成的。

C、静态网页文件里只有HTML标记,没有程序代码

D、动态网页中只有程序,不能有HTML代码。

解析:静态网页是网站建设的基础,静态网页和动态网页之间并不矛盾,动态网站也可以采用静动结合的原则,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事情。

10.当浏览器第二次访问以下JSP网页时的输出结果是什么?

<%! int a=0; %>
<%
    int b=0;
    a++;
    b++;
%>
a: <%=a %>
b: <%=b %>

选项:

A、a=0 b=0

B、a=1 b=1

C、a=2 b=1

D、a=2 b=2
解析:<%! %>定义的是全局变量,<% %>定义的是局部变量,所以每次b在你每次访问页面的时候都被重新赋值成0了,0加1一直都是1。a是全局声明的变量。没有被重置成0,而是每次访问时都加一,题为第二次访问浏览器,所以a为2 ( 建议童鞋们亲自测试一下哈!)

11.在“<%!”和“%>”标记之间声明的Java的方法称为页面的成员方法,其在____范围内有效。

A、从定义处之后有效。

B、在整个页面内有效。

C、从定义处之前有效。

D、不确定。
解析:<%!%>称作声明,其中写的内容将来会直接翻译在Servlet类中,<%! %>里声明的变量和方法百都是作为类的属性和方法存在的,所以在整个页面有效

12.在JSP中,_______动作用于将请求转发给其他JSP页面。

A、forward

B、include

C、useBean

D、setProperty
解析:<jsp:forward>动作用来把当前的jsp页面重导到另一个页面上,用户看到的地址是当前网页的地址,内容则是另一个网页的。

我的答案:A 得分: 2.5分
13.可以实现不同网页之间的数据共享,而且还可以实现跨机共享数据的JSP对象是______。

A、Response对象

B、Session对象

C、Application对象

D、Request对象
解析:

四大对象解释
response主要用于服务器端向客户端发送数据 ,是JSP中最基本的对象
request用来访问任何客户端用HTML请求传递的信息,包括使用POST方法传递的参数或利用GET方法送出的请求以及用户端浏览器送出的cookie和server变量集合中大量的标准信息。
session存储访问者的用户信息,多个页面可以访问该信息,但是两个访问者之间不能共享该信息。:
application使用Application对象来使整个ASP应用程序的所有用户共享数据,把一个ASP程序中的不同用户、不同页面联系在一起

14.为了丰富JSP页面的图形化布局,可以使用下面哪个JSP标准动作把一个图像导入到JSP页面中?____

A、<jsp:image page=”logo.png”/>

B、<jsp:include page=”logo.png”/>

C、<jsp:include file=”logo.png”/>

D、使用JSP标准动作无法做到

15.JSP的编译指令标记通常是指____。

A、Page指令、Include指令和Taglib指令

B、Page指令、Include指令和Plugin指令

C、Forward指令、Include指令和Taglib指令

D、Page指令、Param指令和Taglib指令
解析:

编译指令标记作用
:page指令: 用于设置JSP页面的属性,这些属性将用于和JSP容器通信,控制所生成的servlet结构。
include指令在页面转换期间将文件包含到jsp页面
taglib指令声明用户使用的自定义标签。

16.______是JSP中最基本的对象,它是用户与服务器进行交互的基础。

A、Response对象

B、Session对象

C、Application对象

D、Request对象
解析:参见第13题解析/font>

17.URL是Internet中资源的命名机制,URL由三部分构成_____。

A、协议、主机DNS名或IP地址和文件名

B、主机、DNS名或IP地址和文件名、协议

C、协议、文件名、主机名

D、协议、文件名、IP地址

18.在“<%=”和“%>”标记之间放置_____,可以直接输出其值。

A、变量

B、Java表达式

C、字符串

D、数字
解析:参见第2题解析

19.在JSP中,test.jsp文件如下,试图运行时,将发生____。

<% String str = null; %>

stris <%= str%>

A、转译期有误

B、编译Servlet源码时发生错误

C、执行编译后的Servlet时发生错误

D、运行后,浏览器上显示:stris null

解析:str=null是一个表达式,且str是一个字符串,所以可以运行,,浏览器上显示:stris null

20.下列变量声明在____范围内有效。

<%! Date dateTime;

int countNum;

%>

A、从定义开始处有效,客户之间不共享

B、在整个页面内有效,客户之间不共享

C、在整个页面内有效,被多个客户共享

D、从定义开始处有效,被多个客户共享

解析:使用<%! %>定义的变量编译成servlet后成为servlet的私有成员变量,在servlet环境中,对于一个JSP页只允许有一个结果servlet的实例在运行和响应所有的页面请求。因此,在结果servlet中所有的成员变度量可以被所有的请求所共享,所以只要成员变量没有重新赋值,下次访问该页面时仍然不变。

21.Page指令中的“contenType”属性是用于指出_____。

A、数据库类型

B、网页类型

C、服务器类型

D、用户类型
解析:参见第7题解析/font>

22.下列注释方式可以再JSP中使用并且客户端无法查看的是____。

A、<!—注释–>

B、<%注释%>

C、<%–注释–%>

D、<%!注释%>
解析:JSP中的隐式注释有:// 注释   /*   */ 注释和<%-- 注释 --%>
JSP中的显式注释有:<!—注释–>

23.当用户请求jsp页面时,JSP引擎就会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是______。

A、发送一个JSP源文件到客户端

B、发送一个Java文件到客户端

C、发送一个HTML页面到客户端

D、什么都不做。

我的答案:C 得分: 2.5分
24.下列哪个page指令是合法的?______

A、<%page language=”java”%>

B、<%! page language=”java”%>

C、<%@ page language=”java”%>

D、<%@Page language=”java”%>
解析:page指令对页面的某些特征进行描述,语法格式为:
<%@ page 属性名1=“值1” 属性名2=“值2” …%> 注意:属性之间用空格表示

25.pageContext、request、session、application四个内置对象的作用范围从小到大依次为__________

A、request、pageContext、session、application

B、request、session、pageContext、application

C、request、session、application、pageContext

D、pageContext、request、session、application
解析:

JSP4个内置对象作用范围
page用户请求的当前页面;
request用户请求访问的当前组件,以及和当前web组件共享同一用户请求的web组件;
session同一个Http会话中的web组件共享;
application整个web应用的所有web组件共享,即只要是同一个服务器下的均可使用。

26.在JSP中,给定以下JSP代码片段,运行结果是_____。

<% int x=5; %>

<%! int x=7; %>

<%!

int getX(){

return x;

}

%>

<% out.print(“X1=”+x); %>

<% out.print(“X2=”+getX()); %>

A、X1=5 X2=7

B、X1=5 X2=5

C、X1=7 X2=7

D、X1=7 X2=5
解析:因为<%%>是方法里的 ,故<% int x=5; %> 范围小于<%! int x=7; %>
所以 <% out.print(“X1=”+x); %> 直接取的是<% %>里的5,即x1=5
<%!%>里才能定义方法,所以x2取的是x=7,所以x2=7.

27.不是JSP运行必须的是______。

A、操作系统

B、JavaJDK

C、支持Jsp的Web服务器

D、数据库

解析:jsp开发的时候如果你是用的数据库本地数据库那么你不用联网了, tomcat就是本地jsp运行服务器了,他给你提供运行jsp的文件,所以用数据库不是必须的

28.JSP的Page编译指令的属性Language的默认值是____。

A、Java

B、C

C、C#

D、SQL
解析:language是解释该JSP文件时采用的语言,默认为java

29.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个_____。

A、进程

B、线程

C、程序

D、服务

解析:对于每一个请求,JSP容器都会创建一个新的线程来处理它。如果多个客户端同时请求该JSP文件,则JSP容器也会创建多个线程,使得每一个客户端请求都对应一个线程

30.给定JSP文件代码如下:

<%!static int I=0;int j=0;%>

<%

for(;j++<2;){

out.print(I++);

out.print(“”);

}

%>

有两个客户依次使用浏览器浏览该jsp,且每个客户只浏览一次,那么第2个客户看到浏览器显示____。

A、0 1

B、1 2

C、3 4

D、什么也没有
解析:j小于2就循环,第一个人浏览完就是j就是2,所以当第二个客户浏览的时候不会再执行循环,所以就不会再输出什么,也就是什么也不显示

31.JSP页面经过编译之后,将创建一个_______。

A、applet

B、servlet

C、application

D、exe文件

32.在a.jsp中有代码片断如下:在b.jsp中加入下列____代码,可以输出在a.jsp页面上输入的loginName的值。

loginName:<inputtype=”text” name=”loginName”/>

<inputtype=”submit” name=”submit”/>

A、<%=(String) request.getParameter(“loginName”)%>

B、<%=(String) request.gerAttribute(“loginName”)%>

C、<% String name=request.getParameter(“loginname”);out.println(name); %>

D、<% String name-request.getAttribute(“loginname”); out.println(name); %>

33.在JSP中,page指令的_______属性用来引入需要的包或类。

A、extends

B、import

C、languge

D、contentType
解析:page的常用指令包括import,language,contType 属性,
import作用是导入任何类类名,包名,
language是解释该JSP文件时采用的语言,默认为java,
contentType让客户端浏览器该属性判断文档类型

34.给定以下JSP代码片段,有2个客户依次浏览该JSP,且每个客户只浏览一次,第2个客户会看到浏览器显示____。

<%int x = 1; %>

<%!int x = 10; %>

X =<%= ++x%>

A、X = 1

B、X = 2

C、X = 10

D、X = 11
解析:这个输出首先取得是局部变量里的x,也就是<% %>里的变量,++x,是指x先加1,然后再将值付给x,所以第二次访问浏览器显示的是x=2

二.多选题
1.下列page指令的使用正确的是______。

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

B、<%@ page import="java.util., java.sql. "%>

C、<%@ page import="java.util.;java.sql. "%>

D、<%@page import=“java.util." %> <%@page import="java.sql.” %>

解析:page的常用指令包括iimport 属性,其作用是导入任何类类名,包名,且Import是唯一可以声明多次的page属性,可以一次引用多个类,中间用英文逗号隔开

2.下列属于JSP内置对象的是________。

A、request

B、response

C、session

D、servletContext

解析:JSP有九大隐含对象,out, request, response, config, session, application, page, pageContext, exception

3.下列request和response内置对象的使用正确的是______。

A、request.getRequestDispatcher(“index.jsp”).forward();

B、response.sendRedirect(“index.jsp”);

C、request.getParameterValues(“name”);

D、response.setContentType(“text/html;charset=gbk”);
解析:JSP内置对象是指由JSP容器加载的,不用声明就可以直接在JSP页面中使用的对象
request常用的方法有:
String getParameter (String name):根据参数名称得到单一参数值
String getParameterValues(String name):根据参数名称得到一组参数值。
response常用方法:
void setContentType(String name):设置相应内容的类型和字符编码
例如:设置响应内容类型为text/html,字符编码gbk,response.setContentType(“text/html;charset=gbk”);
void sendRedirect(String url):重定向到指定的URL资源
例如:使用response对象的sendRedirect()方法实现页面的重定向response.sendRedirect(“index.jsp”);

4下列JSP表达式的写法正确的是_____。

A、<%=”abcdefg”.length()%>

B、<%=”abcedfg”+123%>

C、<%=new java.util.Date()%>

D、<%=this%>

5.下列对于JSP说法中正确的是_____。

A、JSP是Sun公司推出的新一代站点开发语言

B、JSP完全解决了目前ASP、PHP的一个通病——脚本级执行

C、JSP将内容的生成和显示进行分离

D、JSP强调可重用的组件

E、JSP采用标识简化页面开发

6.下列关于JSP执行过程的说法正确的是____。

A、JSP在容器启动时会被翻译成Servlet,并编译为字节码文件。

B、JSP在第一次被请求时会被翻译成Servlet,并编译成字节码文件。

C、在第二次请求时,将不再执行翻译步骤

D、如果JSP页面有错误将不再执行翻译步骤。
解析在一个JSP文件第一次被请求,JSP引擎将jsp文件转换为一个java源文件,在转换过程中,如果有任何语法错误,则终止转换,若果转换成功,则将生成的java源文件编译成相应的字节码文件(*.class文件)

  • 56
    点赞
  • 310
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、getSession 2 给定一个 Servlet 的doGet方法中的代码片段,如下: request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”); 那么在 MyServlet 中可以使用()方法把属性 name的值取出来。(选择一项) a) String str=request.getAttribute(“name”); b) String str=(String)request.getAttribute(“name”); c) Object str=request.getAttribute(“name”); d) 无法取出来 3.在Servlet里,能实现重定向的方法有()。(选择两项) A.运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法 B.运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法 C.运用javax.servlet.RequestDispatcher接口的forward方法 D.运用javax.servlet.ResponseDispatcher接口的forward方法 4.利用MyEclipse开发Servlet,下列说法正确的是( )。(只选两项) A. MyEclipse可自动产生web.xml B. MyEclipse不能自动产生web.xml,需要手工编写 C.可利用MyEclipse自带的Tomcat作为Servlet容器 D. MyEclipse没有自带Tomcat,需要自己安装配置。 5.编写Servlet 的doPost方法时,需要抛出异常为()。(只选一项) A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 6.有关会话跟踪技术描述正确的是()。(选择三项) A.Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端 B.关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期 C.在禁用Cookie时可以使用URL重写技术跟踪会话 D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示 …………

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值