admin 管理员组

文章数量: 888297


2023年12月19日发(作者:桌面工具栏不见了怎么弄)

《WEB技术(JSP)》习题集

第一章 JSP技术基础习题

一、选择题

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

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

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

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

D)什么都不做。

2.当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个(B)

A)进程 B)线程 C)程序 D服务。

3.下列动态网页和静态网页的根本区别描述错误的是(D)。

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

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

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

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

4.不是JSP运行必须的是(D)

A)操作系统

B)JavaJDK

C)支持Jsp的Web服务器

D)数据库

6.Tomcat服务器的默认端口号是:(B)

A)80 B)8080 C)21 D)2121

二、判断题

1.动态网页和静态网页的根本区别在于服务器端返回的HTML文件是事先存储好的还是由动态网页程序生成的(对 )

2.Web开发技术包括客户端和服务器端的技术。(对 )

3.Tomcat和JDK都不是开源的。(错)

第二章 JSP语法基础

一、选择题

1.JSP的指令标记通常是指:(A)

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

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

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

D)Page指令、Param指令和Taglib指令

2.可以在以下哪个( )标记之间插入Java程序片?(A)

A)<% 和 %> B)<% 和 />

C) D)<% 和 !>

3.下列哪一项不属于JSP动作指令标记?(D)

A) B)

C) D)

4.JSP的Page编译指令的属性Language的默认值是:(A)

A)Java B)C

C)C# D)SQL

5.JSP的哪个指令允许页面使用者自定义标签库?(B)

A)Include指令 B)Taglib指令

C)Include指令 D)Plugin指令

6.可以在以下哪个( )标记之间插入变量与方法声明?(B)

A)<% 和 %> B)<%! 和 %>

C) D)<% 和 !>

7.动作标记中,scope的值不可以是(D)。

A)page B)request

C)session D)response

8.下列()注释为隐藏型注释。(C)。

A)

B)

C)<%-- 注释内容 --%>

D)] -->

9.下列变量声明在( )范围内有效。(C)。

<%! Date dateTime;

int countNum;

%>

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

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

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

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

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

A) 变量 B)Java表达式 C)字符串 D)数字

11.include指令用于在JSP页面静态插入一个文件,插入文件可以是JSP页面、HTML网页、文本文件或一段Java代码,但必须保证插入后形成的文件是(B)。

A)是一个完整的HTML文件

B)是一个完整的JSP文件

C)是一个完整的TXT文件

D)是一个完整的Java源文件

14.JSP页面可以在“<%=”和“%>”标记之间放置Java表达式,直接输出Java表达式的值。组成“<%=”标记的各字符之间(B)。

A)可以有空格 B)不可以有空格

C)必须有空格 D)不确定

15.当一个客户线程执行某个方法时,其他客户必须等待,直到这个客户线程调用执行完毕该方法后,其他客户线程才能执行,这样的方法在定义时必须使用关键字( C )

A)public B)static

C)synchronized D)private

二、判断题

1.在HTML页面文件中加入JSP脚本元素、JSP标记等就构成了一个JSP页面。(对)

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

3.JSP页面中的变量和方法声明(Declaration)、表达式(Expression)和Java程序片(Scriptlet)统称为JSP标记。(对)

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

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

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

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

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

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

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

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

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

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

14.标记的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)101 B)202 C)303 D)404

3.一个典型的HTTP请求消息包括请求行、多个请求头和( B )

A)响应行 B)信息体 C)响应行 D)响应头

4.在JSP中为内建对象定义了4种作用范围,即Application Scope、Session

Scope、Page Scope和( A )四个作用范围。

A)Request Scope B) Response Scope

C)Out Scope D) Writer Scope

5.Form表单的method属性能取下列哪项的值( C )

A)submit B)puts

C)post D)out

6.能在浏览器的地址栏中看到提交数据的表单提交方式是( B )

A)submit B)get

C)post D)out

7.可以利用request对象的哪个方法获取客户端的表单信息(A)

A)ameter() B)ameter()

C)arameter() D)rParameter()

8.可以利用JSP动态改变客户端的响应,使用的语法是(A)

A)der() B)der()

C)eader() D)rHeader()

9.JSP页面中amter(String )得到的数据,其类型是( C )

A)Double B)int

C)String D)Integer

10.JSP页面程序片中可以使用下列哪个方法将strNumx=amter(“ix”)得到的数据类型转换为Double类型( )

A)tring(strNumx) B) ouble(strNumx)

C)nteger(strNumx) D)loat(strNumx)

11.标记中的name属性取值的是(D)

A)text B)radio C)checkbox D)picture

14.下面不属于标记中的name属性取值的是(D)

A)password B)hidden C)submit D)textarea

15.用于在表单中来定义下拉列表框和滚动列表框控件,哪个属性指定列表框的类型( A )

A)size B)value C)selected D)checked

17.对于ServletRequest接口的获取请求参数的方法的描述那一项是正确的?(C)

A)getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法

B)如果一个参数key有多个值,那么getParameter(key)方法会返回空

C)如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组

D)getParameter方法返回Object对象,使用前要强制类型转换:如String

str=(String) ameter(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.direct(URL url)方法的作用?

9.是不是所有Web服务目录共用一个application?

10.怎样使用request、session和application对象进行参数存取?

思考题

(1) 如何处理表单提交的汉字?

(2) 一个用户在不同的Web服务目录的session相同吗?

(3) 内置对象的4个作用范围?什么情况下session会关闭?

(4) direct(URL url)方法的作用?

(5) 是不是所有Web服务目录共用一个application?

(6) 怎样使用request、session和application对象进行参数存取?

(7) HTTP请求消息、响应消息与request和response对象之间的关系?

第四章 使用JavaBean

一、选择题

1.JavaBean可以通过相关jsp动作指令进行调用。下面哪个不是JavaBean可以使用的jsp动作指令?(D)

A) B)

C) D)

2.关于JavaBean,下列的叙述哪一项是不正确的?(C)

A)JavaBean的类必须是具体的和公共的,并且具有无参数的构造器

B)JavaBean的类属性是私有的,要通过公共方法进行访问

C)JavaBean和Servlet一样,使用之前必须在项目的中注册

D)JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数

3.JavaBean的属性必须声明为private,方法必须声明为(D )访问类型。

A)private B)static

C)protect D)public

4.JSP页面通过( C )来识别Bean对象,可以在程序片中通过形式来调用Bean中的set和get方法。

A)name B)class

C)id D)classname

5.JavaBean的作用范围可以是page、request、session和( A )四个作用范围中的一种。

A)application B)local

C)global D)class

6.下列哪个作用范围的bean,请求响应完成则该Bean即被释放,不同客户的Bean互不相同。(B)

A)application B)request

C)response D)session

7.下列哪个作用范围的Bean,被Web服务目录下所有用户共享,任何客户对Bean属性的修改都会影响到其他用户。(A)

A)application B)request

C)page D)session

8.下列哪个作用范围的Bean,当客户离开这个页面时,JSP引擎取消为客户该页面分配的Bean,释放他所占的内存空间。(C)

A)application B)request

C)page D)session

9.使用动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为什么类型的数据,发送到客户端。( A )

A)String B)Double

C)Object D)Classes

10.使用动作标记可以在JSP页面中设置Bean的属性,但必须保证Bean有对应的什么方法。(B)

A)SetXxx方法 B)setXxx方法

C)getXxx方法 D)GetXxx方法

11.使用格式

"<%= expression %>" />给Bean的属性赋值,expression的数据类型和bean的属性类型( A )。

A)必须一致 B)可以不一致

C)必须不同 D)无要求

12.在JSP页面中使用

value="字符串" />格式给Long类型的Bean属性赋值,会调用哪个数据类型转换方法。(A)

A)ong(String s) B)nt(Stirng s)

C)ouble(String s) D)不确定

13.下列那个调用数据类型转换方法会发生NumberFormatException异常?( D )

A)ong(“1234”) B)nt(“1234”)

C)ouble(“123.45”) D)nt(“123a”)

14.在JSP页面中使用格式,将表单参数为Bean属性赋值,property="*"格式要求Bean的属性名字(B)

A)必须和表单参数类型一致 B)必须和表单参数名称一一对应

C)必须和表单参数数量一致 D)名称不一定对应

15.在JSP页面中使用格式,用表单参数为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-INFclasses子目录下建立与包名对应的子目录,并将字节文件复制到该目录。(对)

10.Javabean中,对于boolean类型的属性,可以使用is代替方法名称中的get前缀,创建Bean必须带有包名。(对)

11.在JSP页面中使用Bean首先要使用import指令将Bean引入。(对)

12.修改了Bean的字节码后,要将新的字节码复制到对应的WEB-INFclasses目录中,重新启动tomcat服务器才能生效。(对)

13.客户在某个页面修改session作用范围Bean的属性,在其他页面,该Bean的属性会发生同样的变化,不同客户之间的Bean也发生变化。(错)

14.使用动作标记,可以使用表达式或字符串为Bean的属性赋值。(对)

15.使用格式给Bean的属性赋值,这个字符串会自动被转化为属性的数据类型。(对)

16.表单提交后,动作指令才会执行。(对)

四、思考题

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读取文件的代码片段:

File file1=new File(fileName);

FileInputStream finput=new FileInputStream(file1);

int size=ble();

BufferedInputStream buffer1=new BufferedInputStream(finput);

byte b[]=new byte[90]; int n=0;

while((n=(b))!=-1){

(new String(b,0,n));

} (); ();

除最后一次外,代码中(b)每次读取文件的字节数?(A)

A)90 B)89

C)n D)size/n

二、判断题

1.使用Java的输入流读取数据的时候,就会开启一个通向数据源的通道,这个数据源可以是文件,内存,或是网络连接等。(对)

2.使用Java的输出流写入数据的时候,就会开启一个通向目的地的通道,这个目的地可以是文件,但不能是内存或网络连接等。(错)

3.字节流一般是用来读入或写出二进制数据。(对)

4.“纯文本”类的信息,一般使用字符流来进行处理。(对)

5.创建一个File对象,就会在某个物理路径下创建一个文件或目录。(错)

6.File类直接处理文件和文件系统,它并不涉及文件的读写操作。(对)

7.Java程序一般用字符流处理二进制字节对象,用字节流处理字符或字符串对象。(错)

8.InputStream抽象类的read方法出错后一定会抛出一个IOException异常。(对)

9.OutputStream抽象类的write方法出错后一定会抛出一个IOExcetption异常。(对)

10.BufferedReader提供了public String readLine()方法,该方法从文件中读入一行文本,如果已到达流结尾而未读入任何文字,则返回-1。(错)

11.RandomAccessFile类即不是输入流类InputSteam的子类,也不是输出流类OutputStream的子类,但它同时实现了DataInput和DataOutput接口。(对)

四、思考题

1.字节流和字符流有何区别?

2.BufferedInputStream与FileInputStream如何配合使用?

3.BufferedOutputStream与FileOutputStream如何配合使用?

4.BufferedReader与FileReader如何配合使用?

5.BufferedWriter与FileWriter如何配合使用?

6.RandomAccessFile访问文件有何特点?

7.如何处理文件读写操作中发生的异常?

第六章 数据库访问

一、选择题

1.下面哪一项不是JDBC的工作任务?(C)

A)与数据库建立连接 B)操作数据库,处理数据库返回的结果

C)在网页中生成表格 D)向数据库管理系统发送SQL语句

5.如果将E:MyWeb作为JSP网站目录,需要修改哪个文档?(A)

A) B) C) D)

6.DriverManager类的getConnection(String url,String user,String password)方法中,参数url的格式为jdbc:<子协议>:<子名称>,下列哪个url是不正确的?(A)

A)”jdbc:mysql://localhost:80/数据库名”

B)”jdbc:odbc:数据源”

C)”jdbc:oracle:thin@host:端口号:数据库名”

D)”jdbc:sqlserver://172.0.0.1:1443;DatabaseName=数据库名”

7.在JDBC中,下列哪个接口不能被Connection创建(A)。

A)Statement B)PreparedStatement

C)CallableStatement D)RowsetStatement

8.下面是加载JDBC数据库驱动的代码片段:

try{

e("bcDriver");

}

catch(ClassNotFoundException e){

(e);

}

该程序加载的是哪个驱动?()

A)JDBC-ODBC桥连接驱动 B)部分Java编写本地驱动

C)本地协议纯Java驱动 D)网络纯Java驱动

9.下面是创建Statement接口并执行executeUpdate方法的代码片段:

conn=nection("jdbc:odbc:book","","");

stmt=Statement();

String strsql="insert into book values('TP003', '','李','清华出版社',35)";

n=eUpdate(strsql);

代码执行成功后n的值为 (A)。

A)1 B)0 C)-1 D)一个整数

10.下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个单元格(B )

while(()){

("");

(""+ing(1)+"");

(""+ing(2)+"");

(""+ing(3)+"");

(""+ing("publish")+"");

(""+at("price")+"");

("");

}

A)4 B)5 C)6 D)不确定

13.下面的代码是连接哪个数据库的驱动加载片段( A )

try{

e("Driver");

}

catch(Exception e){

(ng());

}

A)Oracle B)Sql Server

C)MySql D)不确定

14.下面的代码是连接哪个数据库的驱动加载片段( B )

try{

e("verDriver");

}

catch(Exception e){

(ng());

}

A)Oracle B)Sql Server

C)MySql D)不确定

15.查询结果集ResultSet对象是以统一的行列形式组织数据的,执行ResultSet rs

= eQuery ("select bid,name,author,publish,price from book");语句,得到的结果集rs的列数为( B )

A)4 B)5

C)6 D)不确定

16.下列代码生成了一个结果集

conn=nection(uri,user,password);

stmt=Statement(_SCROLL_SENSITIVE,

_READ_ONLY);

rs=eQuery("select * from book");

下面哪项对该rs描述正确的是(B)

A)只能向下移动的结果集 B)可上下滚动的结果集

C)只能向上移动的结果集 D)不确定是否可以滚动

17.下列代码生成了一个结果集

conn=nection(uri,user,password);

stmt=Statement(_SCROLL_SENSITIVE,

_READ_ONLY);

rs=eQuery("select * from book");

下面哪项对该rs描述正确( A )

A)不能用结果集中的数据更新数据库中的表

B)能用结果集中的数据更新数据库中的表

C)执行update方法能更新数据库中的表

D)不确定

18.下列代码生成了一个结果集

conn=nection(uri,user,password);

stmt=Statement(_SCROLL_SENSITIVE,

_READ_ONLY);

rs=eQuery("select * from book");

下面哪项对该rs描述正确( B )

A)数据库中表数据变化时结果集中数据不变

B)数据库中表数据变化时结果集中数据同步更新

C)执行update方法能与数据库中表的数据同步更新

D)不确定

22.给出了如下的查询条件字符串String condition="insert book values(?,?,?,?,?)";下列哪个接口适合执行该SQL查询(B)

A)Statement

B)PrepareStatement

C)CallableStatement

D)不确定

二、判断题

1.JDBC构建在ODBC基础上,为数据库应用开发人员、数据库前台工具开发人员提供了一种标准,使开发人员可以用任何语言编写完整的数据库应用程序。(错)

2.数据库服务与Web服务器需要在同一台计算机上。(错)

3.JDBC加载不同数据库的驱动程序,使用相应的参数可以建立与各种数据库的连接。(对)

4.Statement()不带参数创建Statement对象,不能够来回的滚动读取结果集。(对)

5.使用数据库连接池需要烦琐的配置,一般不宜使用。(错)

6.应用程序分页显示记录集时,不宜在每页都重新连接和打开数据库。(对 )

7.JDBC中的URL提供了一种标识数据库的方法,使DriverManage类能够识别相应的驱动程序。(对)

8.用户发布Web应用程序,必须修改%TOMCAT_HOME%文件。(对)

10.JDBC的URL字符串是由驱动程序的编写者提供的,并非由该驱动程序的使用者指定。(对)

12.如果需要在结果集中前后移动或随机显示某一条记录,这时就必须得到一个可以滚动的结果集。(对)

13.Statement对象提供了int executeUpdate(String sqlStatement)方法,用于实现对数据库中数据的添加、删除和更新操作。(对)

四、思考题

1.什么是JDBC编程接口?

2.试列举一个你在编程和调试中碰到的数据库问题及其解决办法。

3.如何实现记录集的行操作?

4.进行记录定位的方法有哪些?

5.什么是数据库连接池?如何使用?

6.使用纯Java驱动操作mysql数据库的步骤?

7.加载Sql Server 2000纯Java驱动程序的代码是什么?

8.使用预处理语句和存储过程有什么好处?

9.使用CachedRowSetImpl类有什么好处?

10.如何使用滚动的结果集?

第七章 Servlet技术

一、选择题

2.下面哪一项不在Servlet的工作过程中?(B)

A)服务器将请求信息发送至Servlet

B)客户端运行Applet

C)Servlet生成响应内容并将其传给服务器

D)服务器将动态内容发送至客户端

3.下列哪一项不是Servlet中使用的方法? (D)

A)doGet() B)doPost() C)service() D)close()

4.关于MVC架构的缺点,下列的叙述哪一项是不正确的?(B)

A)提高了对开发人员的要求 B)代码复用率低

C)增加了文件管理的难度 D)产生较多的文件

5.下面哪一项对Servlet、JSP的描述错误?(D)

A)HTML、Java和脚本语言混合在一起的程序可读性较差,维护起来较困难。

B)JSP技术是在Servlet之后产生的,它以Servlet为核心技术,是Servlet技术的一个成功应用。

C)当JSP页面被请求时,JSP页面会被JSP引擎翻译成Servelt字节码执行

D)一般用JSP来处理业务逻辑,用Servlet来实现页面显示。

6.下面哪一项对Servlet、JSP的描述错误?(D)

A)Servlet可以同其他资源交互,例如文件、数据库

B)Servlet可以调用另一个或一系列Servlet

E)服务器将动态内容发送至客户端

E)Servlet在表示层的实现上存在优势

7.下面哪一项对Servlet描述错误?(C)

A)Servlet是一个特殊的Java类,它必须直接或间接实现Servlet接口

B)Servlet接口定义了Servelt的生命周期方法

C)当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程

D)Servlet客户线程调用service方法响应客户的请求

9.下面Servlet的哪个方法载入时执行,且只执行一次,负责对Servlet进行初始化。( B )

A)service() B)init()

C)doPost() D)destroy()

10.下面Servlet的哪个方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次它就会被调用一次。( A )

A)service() B)init()

C)doPost() D)destroy()

11.下面哪个方法当服务器关闭时被调用,用来释放Servlet所占的资源。(D)

A)service() B)init()

C)doPost() D)destroy()

12.部署Servlet,下面哪一项描述错误?(C)

A)必须为Tomcat编写一个部署文件。

B)部署文件名为

C)部署文件在Web服务目录的WEB-INF子目录中

D)部署文件名为

13.下面是一个Servlet部署文件的片段:

Hello

ervlet

Hello

/helpHello

Servlet的类名是( A )

A)FirstServlet B)Hello

C)helpHello D)/helpHello

14.下面是Servlet调用的一种典型代码:

<%@ page contentType="text/html;charset=GB2312" %>

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

访问FirstServlet

该调用属于下述哪种。(B)

A)url直接调用 B)超级链接调用

C)表单提交调用 D)jsp:forward调用

15.下面是Servlet调用的一种典型代码:

<%@ page contentType="text/html;charset=GB2312" %>

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

该调用属于下述哪种。(D)

A)url直接调用 B)超级链接调用

C)表单提交调用 D)jsp:forward调用

二、判断题

1.Servelt是使用Java Servlet API所定义的相关类和方法的Java程序,它运行在启用Java的Web服务器或应用服务器端,用于扩展该服务器的能力。(对)

2.当用户请求一个Servlet时,服务器都会创建Servlet实例响应,响应用户请求。(错)

3.Servlet功能强大,体系结构先进,但它在表示层的实现上存在一些缺陷。(对)

4.JSP技术是在Servlet之后产生的,它以Servlet为核心技术,是Servlet技术的一个成功应用。(对)

5.一般用JSP来实现页面,用Servlet来处理业务逻辑。(对)

6.当多个客户请求一个Servlet时,服务器为每一个客户启动一个进程而不是启动一个线程。(错)

7.用户开发一个Servlet时,必须直接或间接实现Servlet接口所定义的方法。(对)

8.Servlet的部署文件是一个xml文件,文件名为,它保存在Web服务目录的WEB-INF子目录中。(对)

9.在Servlet中读取HTTP头信息非常容易,只需调用HttpServletRequest的getHeader等方法即可。(对)

10.Servlet和applet分别在处于服务器和客户机两端。(对)

11.Servlet与普通Java应用程序一样,要有main方法。(错)

12.对于每一个Servlet实例,只能被初始化一次(对)。

13.doGet()和doPost()方法分别处理客户端GET和POST方法发送的请求。(对)

14.不能给一个Servlet映射多个访问路径。(错)

四、思考题

1.试述Servlet的生命周期。

2.如何使Servlet既能处理GET请求,又能处理POST请求?

3.获取表单数据的基本方法有哪些?

4.HttpServletResponse接口有哪些用处?

5.Servlet处理表单提交比起JSP页面处理表单提交有哪些优点?

6.是否一定要重写Service方法?重写了Servlet的doPost和doGet方法如何被调用?

7.Servlet对象如何获取用户的会话对象?

8.Servlet如何与Servlet或者JSP进行通信?

9.如何编写、编译、调试和配置Servlet?

第九章 基于Servlet的MVC模式

一、选择题

1.关于MVC架构的缺点,下列的叙述哪一项是不正确的?(B)

A)提高了对开发人员的要求 B)代码复用率低

C)增加了文件管理的难度 D)产生较多的文件

4.阅读下面代码片段:

JavaBeanClass bean=new JavaBeanClass(parameter);

HttpSession session=sion(true);

ribute("keyword",bean);

该段代码创建的Bean,下列叙述哪项是正确的?(C)

A)Request 周期的Bean B)Application 周期的Bean

C)Session D)Page周期的Bean

5.阅读下面代码片段:

JavaBeanClass bean=new JavaBeanClass(parameter);

getServletContext().setAttribute("keyword",bean);或者

ribute("keyword",bean);

该段代码创建的Bean,下列叙述哪项是正确的?(B)

A)Request 周期的Bean B)Application 周期的Bean

C)Session D)Page周期的Bean

6.阅读下面代码片段:

JavaBeanClass bean=new JavaBeanClass(parameter);

ribute("keyword",bean);

该段代码创建的Bean,下列叙述哪项是正确的?(A)

A)Request 周期的Bean B)Application 周期的Bean

C)Session D)Page周期的Bean

7.阅读下面代码片段:

RequestDispatcher dispatcher=uestDispatcher("");

d(request,response);

关于该段代码的作用,下列叙述哪项是正确的?(B)

A)页面重定向到页面 B)将请求转发到页面

C)从定向到当前页面 D)从转发到当前页面

二、判断题

1.重定向功能是将用户从当前页面或Servlet定向到另一个JSP页面或Servlet。(对)

2.转发的功能是将用户对当前JSP页面或Servlet的请求转发给另一个JSP页面或Servlet。(对)

2.重定向仅仅是将用户定向到其他的JSP页面或Servlet,而不能将Request对象转发给所指向的资源。(对)

4.实现转发需要两个步骤,首先在Servlet中要得到RequestDispatcher对象,然后在调用该对象的forward方法实现转发。( 对 )

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

6.在MVC模式的Web开发中,“视图”、“模型”和“控制器”分别对应着“JSP页面”、“JavaBean”和“Serlvet”,以Servlet为核心。(对)

四、思考题

1.MVC模式的核心思想是什么?

2.谁来担当MVC模式的视图、模型和控制器角色?

3.使用MVC模式有什么好处?

4.MVC模式中的Bean由谁来创建?都有那些生命周期类型?

5.控制器如何控制页面的流转。

6.怎样编写、编译、调试和布置MVC模式中的Servlet和bean?

7.请简要叙述如何设计JSP网站。

1. 请写出JSP页面的基本结构(JSP页面包括哪几种元素)。

2. 请写出JSP的运行原理。

3. 请简单叙述include指令标记和include动作标记的不同。

4. 如何处理表单提交的汉字?

5. 在<%!和%>之间声明的变量和在<%和%>之间声明的变量有何区别?

6. JSP内置对象session是什么。

7. session对象的生存期限依赖于什么。

8. RandomAccessFile类创建的流在读写文件时有什么特点?

9. 试述Servlet的生命周期。

10. HttpServletRequest类的sendRedirect()方法和RequestDispatcher类的forward方法有何不同?

11. 简述JavaBean编写时需遵守的规则。

12. 简述JavaBean编写时需遵守的规则。

13. MVC模式对于设计合理的Web应用框架有着十分重要的意义,请解释什么是MVC。


本文标签: 方法 页面 文件 对象 数据库