admin 管理员组

文章数量: 887021


2024年2月24日发(作者:数据库系统原理和数据库系统概论)

JSP复习提纲

一、选择题

1、如果做动态网站的开发,以下( )可以作为服务器端脚本语言。

A.HTML B.JSP C.JavaScript D.Java

2、在设计Web项目的目录结构时,一般把静态文件放在( )下。

A.srv目录 B.文档根目录或其子文件夹下

C.META-INF目录 D.WEB-INF目录

3、在Web项目的目录结构中,文件位于( )中。

A.src目录 B.文档根目录 C.META-INF目录 D.WEB-INF目录

4、假设已经获得ResultSet对象rs,那么获取第一行数据的正确语句是( )

A.t() B.() C.w( ) D.tRow()

5、给定如下Java代码片段,假定已经获得一个数据库连接,使用变量con来表示。要从表FirstLevelTitle中删除所有creator列值为“张三”的记录(creator字段的数据类型为varchar),可以填入下划线处的代码是( )

String strsql = “delete from FirstLevelTitle where creator = ?”

PreparedStatement pstmt = eStatement(strSql);

eUpdate( );

A.ing(0,“张三“); B.ing(1,”张三”);

C.(0,”张三”); D.(1,”张三”);

6、JDK中提供的( )类的主要职责是:依据数据库的不同,管理不同的JDBC驱动程序。

A.DriverManager B.Connection C.Statement D.Class

7、在某个JSP页面中存在如下四行注释代码,运行该JSP后,能够在客户端看到的注释内容是( )

A.<%-- <% String s =”Hello World”;%>--%>

B.

C.<%//这是一个for循环:for(int i=1;i<=4;i++){}%>

D.<% /* *用途:设置学生姓名*/%>

8、以下第()种注释可以被发送到客户端的浏览器。

<%-- 第一种 --%>

<% //第二种 %>

<% /*第三种 */ %>

A.第一种 B.第二种 C.第三种 D.第四种

9、要把一个Web应用中的文件设置为该Web应用的欢迎页面,以下代码片段正确的是( )

A.

B.

C.

1

D.

10、假定在一个Web应用中,manage目录于images目录为同级目录,现在要在manage目录中的中显示images目录中的图片,以下代码片段正确的是( )

A. B.

C. D.

11、Web容器处理JSP文件请求需要经过三个阶段,这三个阶段按照顺序排列依次是( )

A.翻译阶段、执行阶段、编译阶段

B.执行阶段、编译阶段、翻译阶段

C.翻译阶段、编译阶段、执行阶段

D.执行阶段、翻译阶段、编译阶段

12、在一个JSP页面中包含了这样一种页面元素:<% int i=10;%>,这是( )

A.表达式 B.小脚本 C.JSP指令 D.注释

13、在某个JSP页面中存在这样一行代码:<%=”2”+”4”%>,运行该JSP后,以下说法正确的是( )

A.这行代码没有对应的输出

B.这行代码对应的输出是:6

C.这行代码对应的输出是:24

D.这行代码将引发错误

14、与page指令<%@ page import =”.*,.* “%>等价的是( )

A.<%@ page import =”.* “ %>

<%@ page import = “.* ”%>

B.<%@ page import = “.*” import=“.*” %>

C.<%@ page import = “.*” ;%>

<%@ page import = “.*” ;%>

D.<%@ page import =“.* ;.*” %>

15、下列选项中,( )是正确的表达式。

A.<% String s = “hello world”;%>

B.<%=”hello world”;%>

C.<%=”hello world”%>

D.<%! “hello world”%>

16、在某个JSP页面中存在这样一行代码:<%=1==3%>,运行该JSP后,以下说法正确的是( )

A.这行代码没有对应的输出

B.这行代码对应的输出是:false

C.这行代码对应的输出是:true

D.这行代码对应的输出是:1==3

17、在某个JSP页面中存在这样一行代码:<%1+3;%>,运行该JSP后,以下说法正确的是:( )

A.这行代码没有对应的输出

B.这行代码对应的输出是:4

C.这行代码对应的输出是:1+3

D.这行代码将引发错误

2

18、如果请求页面中存在两个单选按钮(假设单选按钮的名称为sex),分别代表男和女,该页面提交后,为了获得用户的选择项,可以使用以下( )方法。

A.ameter(sex); B.ameter(“sex”);

C.ameterValues(sex); D.ameterValues(“sex”);

19、下列选项中,( )可以获取到请求页面的一个文本框的输入(假设文本框的名称为name)

A.ameter(name); B.ameter(“name”);

C.ameterValues(name); D.ameterValues(“name”);

20、JSP内置对象request的getParameterValues()方法的返回值是( )

A.String[ ] B.Object[ ] C.String D.Object

21、使用response对象进行重定向时,使用的是( )方法。

A.getRequestDispatcher( ) B.forward( )

C.sendRedirect( ) D.setRequestDispatcher( )

22、关于get请求和post请求的说法,错误的是()。

A.URL形式的请求是get请求 B.post请求有长度限制

C.Form表单可以发送post请求,也可以发送get请求

D.post请求比get请求安全

23、如果把一个用户名jack保存在session对象里,则下列语句正确的是( )

A.ribute(name,jack);

B.ribute(“name”,”jack”);

C.ribute(“jack”,name);

D.ribute(“jack”,”name”);

24、如果要使某JSP网站的所有用户都可以访问到变量APP_NAME,如果该变量的值为字符串NEWS,那么存储该变量的语句正确的是( )

A.ribute(“APP_NAME”,”NEWS”);

B.ribute(APP_NAME,”NEWS”);

C.ribute(“APP_NAME”,”NEWS”);

D.ribute(APP_NAME,”NEWS”)

25、JSP提供了一个可以在多个请求之间持续有效的内置对象( ),该对象与浏览器一一对应。

A.request B.response C.session D.application

26、试图运行如下JSP代码,以下说法正确的是( )

<%

String str = “hello world”;

ribute(“title“,str);

String getstr = ribute(“title”);

n(getStr);

%>

A.运行成功,页面上输出hello world

B.运行成功,页面上输出title

C.代码行ribute(“title”,str)有错误

D.代码行String getStr = ribute(”title”);有错误,无法运行

27、阅读下面的代码,输出结果是()。

3

public class Arraytest2{

public static void main(String[ ]args) {

int[ ] arr = {1, 2, 3};

for(int i = 0; i < 2; i++) {

arr[i] = 0; }

for(int i = 0; i < 3; i++){

n(arr [i]); }

}}

A.1 2 3 B.0 0 3 C.0 2 3 D.0 0 0

28、在helloapp应用中有一个,它的文件路径WebRoot/hello/,那么在浏览器端访问的URL是 ()。

A.localhost:8080/

B.localhost:8080/helloapp/

C.localhost:8080/helloapp/hello/

D.localhost:8080/hello/

29、从HTTP请求中,获得请求参数,应该调用()。

A.request对象的getAttribute()方法

B.request对象的getParameter()方法

C.session对象的getAttribute()方法

D.session对象的getParameter()方法

30、以下JSP一共被访问了两次,第二次的输出结果是()。

<%

int a = 1;

int b = a+1;

%>

a:<%=a%>

b:<%=b%>

A.输出异常信息 B.a:1 b:3 C.a:2 b:3 D.a:1 b:2

31、page指令用于定义JSP文件中的全局属性,下列关于该指令用法的描述错误的是()。

A.<%@ page %>作用于整个JSP页面

B.可以在一个页面中使用多个<%@ page %>指令

C.为增强程序的可读性,建议将<%@ page %>指令放在JSP文件的开头,但不是必须的

D.<%@ page %>指令中的属性只能出现一次

32、对于JSP的声明<%! %>的说法错误的是:

A.一次可声明多个方法 B.一个声明仅在一个页面中有效

C.声明的方法可以直接使用JSP内置对象 D.声明可以放在JSP的任何位置

33、对于预定义<%!预定义%>的说法错误的是:( )

A.一次可声明多个变量和方法,只要以“;”结尾就行

B.一个声明仅在一个页面中有效

C.声明的变量将作为局部变量

D.在预定义中声明的变量将在JSP页面初始化时初始化

34、下述选项中不属于JDBC基本功能的是()。

A.与数据库建立连接 B.提交SQL语句

C.处理查询结果 D.数据库维护管理

4

35、下面哪一个不是JSP本身已加载的基本类?( )

.* .* t.* .*

36、从 “员工” 表的“姓名”字段中找出名字包含“玛丽”的人,下面哪条select语句正确:( )

* from员工 where 姓名 =’_玛丽_’

* from员工 where 姓名 =’%玛丽_’

* from员工 where 姓名 like ‘_玛丽%’

* from员工 where 姓名 like ‘%玛丽%’

37、在JSP中使用标记时,不会出现的属性是:( )

B. property C. value D.以上皆不会出现

38、在JSP中调用JavaBean时不会用到的标记是:( )

A. B.

C. D.

39、关于JavaBean正确的说法是:( )

文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写

B.在JSP文件中引用Bean,其实就是用语句

C.被引用的Bean文件的文件名后缀为.java

文件放在任何目录下都可以被引用

40、Servlet程序的入口点是:( )

() () e() ()

41、Jsp中,JSP表达式语言的语法是( )。

A.{EL expression} B.${EL expression}

C.@{EL expression} D.&{EL expression}

42、JSP中,HttpSession接口位于( )包中。

t

n n

43、在JSP中,文件中有如下一行代码:

要使user对象在用户对其发出请求时存在,下划线中应填入( )。

A. Page B. Request n ation

44、在JSP MVC设计模式体系结构中,( )是实现控制器的首选方案。

A. JavaBean t

45、JSP中在JSP页面中要使用user包中的User类,则以写法正确的是( )。 A.

B.

C.

D.

46、Jsp中,HttpServletRequest类的( )方法用返回与当前请求相关联的会话,如果没有,则返回null。

A. getSession() B. getSession(true) C. getSession(false) D. getSession(null)

47、 在中包含数行代码与一张图片,现在要创建一个,每次浏览时都能够以最快的速度显示中的所有内容以及自身要显示的内容,应该在中使用的语句是( )。

A.<%@include file = “”%>

5

B.<%@include page=“”flush= “true”>

C.

D.

48、要设置某个JSP页面为错误处理页面,以下page指令正确的是()。

A.<%@ page errorPage="true"%>

B.<%@ page isErrorPage="true"%>

C.<%@ page extends="orPage"%>

D.<%@ page info="error"%>

49、JavaMail是一组用于发送和接收邮件消息的API。发送邮件使用()协议,接收邮件使用()协议。

A. POP3 SMTP 3 TCP TCP POP3

50、在Servlet里,能正确获取session的语句是()。

A. HttpSession session = sion(true);

ssion session = pSession(true);

ssion session = sion(true);

ssion session = response. getHttpSession (true);

51、在JSP中,()动作用于将请求转发给其他JSP页面。

d B. include n perty

52、在JSP中,重定向到另一个页面,以下()语句是正确的。

direct("");

direct();

direct("");

direct();

53、在JSP中,使用动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是()。

B. request se ation

54、Servlet中,使用()接口中定义的()方法来处理客户端发出的表单数据请求.

A. HttpServlet doHead rvlet doPost

tRequest doGet tRequest doPost

55、在JSP中,request对象的( )方法可以获取页面请求中一个表单组件对应多个值时的用户的请求数据。

getParameter(String name)

[] getParameter(String name)

getParameterValuses(String name)

[] getParameterValues(String name)

56、在Jsp的MVC模式中,模型层对象被编写为()。

t D. JavaBean

57、在Jsp中,文件中有如下一行代码:

scope=”_____” type=”an”/>。要使user对象中一直存在于对话中,直至其终止或被删除为止,下划线中应填入()。

B. Request n ation

58、Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL。

L() ctURL() C. sendRedirect() ctResponse()

59、在JSP中,page指令的()属性用来引入需要的包或类。

6

A. extends e tType

60、JSP中,以下关于HttpServlet的说法错误的是()。

a) HttpServlet是一个抽象类

b) HttpServlet类扩展了GenericServlet类

c) HttpServlet类的子类必须至少重写service方法

d) HttpServlet位于包中

61、给定一个JSP程序源代码,如下:

在中使用()代码片段可以输出参数location的值。

a)

b)

c) <%=ribute(« location »)%>

d) <%=ameter(« location »)%>

62、在J2EE中,在中,有如下代码:

30

上述代码定义了默认的会话超时时长,时长为30( )。

A.毫秒 B.秒 C.分钟 D.小时

二、其它题型。

1、给定如下Servlet代码,假定在浏览器中输入URL:localhost:8080/servlet/HelloServlet,可以调用这个servlet,那么这个Servlet的输出是()。

import .*;

import t.*;

import .*;

public class HelloServlet extends HttpServlet{

public void service(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException{

}

public void doGet(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

tentType("text/html");

PrintWriter out = ter();

n("");

n("");

n("doGet Hello World!");

n("");

n("");

();

}

public void doPost(HttpServletRequest req, HttpServletResponse res)

7

throws ServletException, IOException {

tentType("text/html");

PrintWriter out = ter();

n("");

n("");

n("doPost Hello World!");

n("");

}

} (需要测试,到底选哪个?)

a) 一个HTML页面,页面上显示doGet Hello World!

b) 一个HTML页面,页面上显示doPost Hello World!

c) 一个空白的HTML页面

d) 错误信息

2、给定一个Servlet的代码片段如下:

Public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

______

n(“hi kitty!”);

();

}

运行此Servlet时输出如下:

hi kitty!

则应在此Servlet下划线处填充如下代码。

a) PrintWriter out = ter();

b) PrintWriter out = ter();

c) OutputStream out = putStream();

d) OutputStream out = ter();

3、给定如下JSP代码,假定在浏览器中输入URL:localhost:8080/web/,可以调用这个JSP,那么这个JSP的输出是()。

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

<%@ taglib uri=”/jsp/jstl/core” prefix=”c”%>

<% int counter = 10; %>

it’s an odd

it’s an even

a) 一个HTML页面,页面上显示it’s an odd

8

b) 一个HTML页面,页面上显示it’s an even

c) 一个空白的HTML页面

d) 错误信息

4、给定java程序,代码如下:

package user;

public class User{

private String password;

private String loginName;

public String getLoginName(){

return loginName;

}

public String getPassword(){

return password;

}

public void setLoginName(String loginName){

ame=loginName;

}

public void setPassword(String password){

rd=password;

}

}

给定,代码片断如下:

____________

loginName:

password:

在浏览器上输入URL:localhost/user,jsp?loginName=sa&password=sa并回车

要使浏览器上显示:loginName: sa password: sa

在中的下划线处应填入以下()代码. (选择一项)

a)

b)

c)

d)

四、填空题:

1、Tomcat服务器的默认端口是 8080 。怎样修改tomcat的端口__在Tomcat下打开conf文件夹找到文件用记事本打开在中把8080更改即可_____。

2、异常的处理,可在该方法的代码段中包含3类代码: try 、 catch 和finally代码块。

9

3、jsp主要内置对象有: application 、exception 、 pageContext 、

request 、 session 、_____response_、out、config、page。

4、理论上,GET是 用于获取服务器信息并将其作为响应返回给客户端 ,POST是 用于客户端把数据传送到服务器 。

5、application对象是 代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息 ,而session对象则是每个客户专用的。

6、JDBC的主要任务是: 与数据库建立连接 、 发送SQL语句 、 处理结果 。

7、一个Bean由三部分组成: 实现izable接口、 提供无参数的构造方法 、 提供getter()和setter()方法访问它的属性 。

8、Servlet的生命周期分三个时期: 装载Servlet 、 创建一个Servlet实例 、

销毁 。

9、JSP开发网站的两种模式分为__jsp+javabean___和 jsp+javabean+servlet 。

五、问答题

有哪些内置对象?作用分别是什么?

application对象代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息。

Config对象允许将初始化数据传递给一个JSP页面

Exception对象含有只能由指定的JSP“错误处理页面”访问的异常数据。

Out对象代表提供输出流的访问

Page对象代表JSP页面对应的Servlet类实例

PageContext对象是Jsp页面本身的上下文,它提供唯一一组方法来管理具有不同作用域的属性

Request对象提供对Http请求数据的访问,同时还提供用于加入特定请求数据的上下文

Response对象允许直接访问HttpServletResponse对象

Session对象可能是状态管理上下文中使用最多的对话

有哪些动作?作用分别是什么?

操作被用来以“名—值”队的形式为其他标签提供附加信息

操作允许在请求是在现成的JSP页面里包含静态或者动态资源

操作允许将请求转发到另一个JSP、servlet或静态资源文件

标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围

此操作和setBean一起协作,用来设置JavaBean的属性

操作是对操作的补充,用来访问一个Bean的属性

用来产生客户端浏览器的特别标签,可以使用它来插入Applet和JavaBean

中动态INCLUDE与静态INCLUDE的区别?

如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。如果是动态文件还可以用传递参数

d 和redirect的区别

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

10

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

5.两种跳转方式分别是什么?有什么区别?

有两种,分别为:

前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。

6.说一说Servlet的生命周期?

servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由t接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

t的基本架构

public class ServletName extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws

ServletException, IOException {

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, IOException {

} }

8.什么情况下调用doGet()和doPost()?

答:Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。

9.四种会话跟踪技术

会话作用域ServletsJSP 页面描述

page是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被编译成 servlet 的 JSP 页面

request是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)

session是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web 会话可以也经常会跨越多个客户机请求

application是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个 Web

应用程序,包括多个页面、请求和会话的一个全局作用域

10.说出数据连接池的工作机制是什么?

Jsp服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

e的作用?为什么要用?

加载驱动程序。驱动程序的作用就是把用户对数据库的访问请求转换成数据库可以理解

11

的方式,然后把数据库执行的结果返回给用户。

12.在JSP中如何使用注释?

主要有四中方法:

1)<%-- 与 --%> 2) // 3) /**与**/ 4)

13.在JSP中如何执行浏览重定向?

使用如下方式即可:direct("/");

也能物理地改变HTTP HEADER属性,如下:

<%

tus(_MOVED_PERMANENTLY);

String newLocn="/newpath/";

der("Location",newLocn);

%>

14.假设在servlets包里有一个HelloServlet,在程序里怎样注册servlet.

hello

ervlet

hello

/hello

15.在SQL Server2005中如何创建与数据库的连接。

16.如何创建语句对象。

12


本文标签: 页面 请求 代码 文件 对象