您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页软件测试笔试题及答案

软件测试笔试题及答案

来源:华佗小知识
1、TCP是互联网中的(1)协议,使用(2)次握手协议建立连接。当主动发出SYN连接请求后,等待对方回答(3)。这种连接的方法可以防止(4),TCP使用的流量控制协议是(5)。

(1)A.传输层 B.网络层 C会话层 D.应用层 (2)A.1 B.2 C.3 D.4

(3)A.SYN,ACK B.FIN,ACK C.PSH,ACK D.RST,ACK (4)A.出现半连接 B.无法连接 C.假冒的连接 D.产生错误的连接

(5)A.固定大小的滑动窗口协议 B.可变大小的滑动窗口协议 C.后退N帧ARQ协议 D.选择重发ARQ协议

2、下列叙述中,与提高软件可移植性相关的是 。 A.选择时间效率高的算法

B.尽可能减少注释 C.选择空间效率高的算法

D.尽量用高级语言编写系统中对效率要求不高的部分

D软件可移植性是指与软件可从某一环境移植到另一环境的能力有关的一组属性。高级语言具有较好的可移植性,所以可以尽量用高级语言编写系统中对效率要求不高的部分。减少注释、选择时间/空间效率高的算法都不能提高软件的可移植性。 3、用边界值分析法,假定14、在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是______

A.指响应时间;

B.指报文从客户端发出到客户端接收到服务器响应的间隔时间; C.指报文在网络上的传输时间;

D.指从报文开始进入网络到它开始离开网络之间的时间

网络延迟:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。

5、软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性()是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。

A.成熟性; B.易恢复性; C.容错性; D.可靠性依从性 国家标准GB/T 16260《软件产品评价-质量特性及其使用指南》规定了软件产品的六个质量特性,并推荐了与之对应的27个子特性,质量特性和子特性列表如下: 质量特描述 性 功能性 当软件在指定条件下使适合性 用时,软件产品满足明确和隐含要求功能的能准确性 力 软件产品为指定的任务和用户目标提供一组合适的功能的能力 软件产品具有所需精确度的正确或相符的结果及效果的能力 互操作软件产品与一个或更多的规定系性 统进行交互的能力 子特性 子特性描述 功能性软件产品依附于同功能性相关的依从性 标准、约定或法规以及类似规定的能力 安全保软件产品保护信息和数据的能密 力,以使未授权的人员或系统不能阅读或修改这些信息和数据,但不拒绝授权人员或系统对它们的访问。 可靠性 软件产品维持规定的性成熟性 能级别的能力 容错性 软件产品避免因软件中错误的发生而导致失效的能力 在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力 易恢复在失效发生的情况下,软件产品性 重建规定的性能级别并恢复受直接影响的数据的能力 可靠性软件产品依附于同可靠性相关的依从性 易用性 标准、约定或规定的能力 软件产品在指定条件下易理解软件产品使用户能理解软件是否使用时,软件产品被理性 解、学习、使用和吸引用户的能力 易学性 适合以及如何能将软件用于特定的任务和使用环境的能力。 软件产品使用户能学习它的能力 易操作软件产品使用户能操作和控制它性 的能力 吸引性 软件产品吸引用户的能力 易用性软件产品依附于同易用性相关的依从性 效率 标准、约定或规定的能力 在规定条件下,相对于时间特在规定条件下,软件产品执行其所用资源的数量,软件性 产品提供适当的性能的能力 功能时,提供适当的相应时间和处理时间以及吞吐率的能力 资源特在规定条件下,软件产品执行其性 功能时,使用合适的数量和类型的资源的能力 效率依软件产品依附于同效率相关的标从性 准、约定或规定的能力 维护性 软件产品可被修改的能易分析软件产品诊断软件中的缺陷或失力。修改可能包括修正、性 改进或软件适应环境、效原因,以及判定待修改的部分的能力 需求和功能规格说明中易改变指软件产品使指定的修改可以被的变化 性 稳定性 实现的能力 软件产品避免由于软件修改而造成以外结果的能力 易测试软件产品使已修改软件能被确认性 的能力 维护性软件产品依附于同维护性相关的依从性 标准、约定或规定的能力 可移植软件产品从一种环境迁适应性 性 移到另外一种环境的能力 指软件产品无需采用有别于为考虑该软件的目的而准备的活动或手段,就可能适应不同的指定环境的能力 易安装软件产品在指定环境中被安装的性 共存性 能力 软件产品在公共环境中同与其分享公共资源的其他软件共存的能力 易替换软件产品在环境相同、目的相同性 的情况下替代另一个指定软件产品的能力 可移植软件产品依附于同可移植性相关性依从的标准、约定或规定的能力 性 6、关于软件质量的描述,正确的是______ A.软件质量是指软件满足规定用户需求的能力;

B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性; C.软件质量保证过程就是软件测试过程; D.以上描述都不对

解析:软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”。

7、 (1)是面向对象程序设计语言不同于其它语言的主要特点,是否建立了丰富的(2)是衡量一个面向对象程序设计语言成熟与否的重要标志之一。

(1)A.继承性;B.消息传递;C.多态性;D.静态联编; (2)A.函数库;B.类库;C.类型库;D.方法库; 8、8位ASCII编码的最大编码值为______ A.128 B.127 C.256 D.255

9、对计算机软件和硬件资源进行管理和控制的软件是______

A.文件管理程序 B.输入输出管理程序 C.命令处理程序 D.操作系统 操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。 10、下列说法正确的是______ A.给计算机加电称为热启动 B.计算机死机后常用冷启动计算机 C.可用Ctrl+Alt+Del键对计算机冷启动 D.可用Ctrl+Alt+Del按钮对计算机热启动

热启动就是 按 ctrl+alt+delete 的重启。冷启动是按机箱上的电源(power)按钮的开机。 11、1024B是______

A.1KB B.1MB C.1GB D.1Gb

1个字节等于8位二进制,1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024Byte 12、衡量计算机的平均无故障时间是计算机的______ A.可靠性 B.可维护性 C.适应性 D.稳定性

MTBF,即平均无故障时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。 13、十进制102转换为二进制是______

A.1100111 B.1100110 C.1100001 D.101111

10221222526,102=1100110

14、在Windows中,下列可以作为文件名的是______ A.a?.txt B.abc>.doc C.abc*.xls D.Rula.bmp 1? 允许文件或者文件夹名称不得超过255个字符。 2? 文件名除了开头之外任何地方都可以使用空格。

3? 文件名中不能有下列符号:“?”、“、”、“╲”、“*”、““”、“”“、“<”、“>”、“|”。

4? Windows 98文件名不区分大小写,但在显示时可以保留大小写格式。 5? 文件名中可以包含多个间隔符,如“我的文件。我的图片。001”。 15、SNMP 所采用的传输层协议是______

A.UDP B.ICMP C.TCP D.IP

简单网络管理协议(SNMP)是目前TCP/IP网络中应用最为广泛的网络管理协议,SNMP使用UDP(用户数据报协议)作为第四层协议(传输协议),进行无连接操作。 16、为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括______ A.配置项标识、配置项控制、配置状态报告、配置审计 B.配置基线确立、配置项控制、配置报告、配置审计 C.配置项标识、配置项变更、配置审计、配置跟踪 D.配置项标识、配置项控制、配置状态报告、配置跟踪 17、______方法根据输出对输入的依赖关系设计测试用例。

A.路径测试 B.等价类 C.因果图 D.边界值

18、在C++语言中,若类C中定义了一个方法int f(int a,int b),那么方法______不能与该方法同时存在于类C中

A.int f(int x,int y) B.int f(float a,int b) C.float f(int x,float y) D.int f(int x,float y)

答案选A,这个题目考的是函数的重载。

重载,在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。(引自百度百科) 从题目来看 选项A 函数f的参数是两个int类型,跟题目中的函数名和参数都相同。

19、下列关于软件验收测试的合格通过准则错误的是:______

A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求; B. 所有测试项没有残余一级、二级和三级错误;

C. 立项审批表、需求分析文档、设计文档和编码实现不一致; D. 验收测试工件齐全

软件验收测试合格通过准则:1软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。2所有测试项没有残余的一级二级三级的错误。3立项审批表、需求分析文档、设计文档和编码实现一致。4验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告) 20、测试设计员的职责有:______

①制定测试计划 ②设计测试用例 ③设计测试过程、脚本 ④评估测试活动 A.①④ B.②③ C.①③ D.以上全是

测试设计员的职责:确定并描述相应的测试技术、确定相应的测试支持工具、定义并维护测试自动化架构、

详述和验证需要的测试环境配置、验证与评估测试途径

21、对于业务流清晰的系统可以利用D贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用C选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用B和判定表驱

动法

A.等价类划分 B.因果图法 C.正交试验法 D.场景法、 因果图适合于检查程序输入条件涉及的各种组合情况,正交实验法就是利用排列整齐的表 -正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果 22、下列软件实施活动的进入准则描述错误的是:______ A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 23、软件的六大质量特性包括:______

①功能性、可靠性 ②可用性、效率 ③稳定性、可移植 ④兼容性、可扩展性 A.①②③ B.②③④ C.①③④ D.①②④

24、正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中错误的是______ A.评审产品,而不是评审生产者的能力 B.要有严格的评审计划,并遵守日程安排

C.对评审中出现的问题要充分讨论,以求彻底解决 D.参与者人数,并要求评审会之前做好准备

正式技术评审(FTR)是一种由软件工程师和其他人进行的软件质量保障活动。 1. 目标

(1) 发现功能、逻辑或实现的错误 (2) 证实经过评审的软件的确满足需求

(3) 保证软件的表示符合预定义的标准 (4) 得到一种一致的方式开发的软件 (5) 使项目更易管理 2、评审会议

3-5人参加,不超过2小时,由评审、评审者和生产者参加,必须做出下列决定中的一个 : (1)工作产品可不可以不经修改而被接受;(2)由于严重错误而否决工作产品; (3)暂时接受工作产品。 3、评审总结报告、回答

评审什么?由谁评审?结论是什么? 评审总结报告是项目历史记录的一部分,标识产品中存在问题的区域,作为行政条目检查表以指导生产者进行改正。 4、评审指导原则

(1)评审产品,而不是评审生产者。注意客气地指出错误,气氛轻松。 (2)不要离题,争论。有异议的问题不要争论但要记录在案。 (3)对各个问题都发表见解。问题解决应该放到评审会议之后进行。 (4)为每个要评审的工作产品建立一个检查表。应为分析、设计、编码、测试文档都建立检查表。

(5)分配资源和时间。应该将评审作为软件工程任务加以调度。 (6)评审以前所做的评审

25、下列关于文档测试描述错误的是______

A.文档测试主要检查文档的正确性、完备性、可理解性、可操作性和易维护性; B.正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾; C.完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。有些学生在证明数学题时,喜欢用“显然”两字蒙混过关。文档中很多内容对开发者可能是“显然”的,

但对用户而言不见得都是“显然”的;

D.文档不可以写成散文、诗歌或者侦探、言情小说,要让大众用户看得懂,能理解 文档测试主要检查文档的正确性、完备性、可理解性 26、软件工程的主要环节有______

①人员管理;②项目管理;③可行性与需求分析;④系统设计;⑤程序设计;⑥测试;⑦维护等

A.①②④⑤⑥⑦ B.②③⑤⑥⑦ C.①②③④⑤⑥ D.以上全是 27、以下关于集成测试的内容正确的有______ ①集成测试也叫组装测试或者联合测试;

②在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; ③一个模块的功能是否会对另一个模块的功能产生不利的影响; ④各个子功能组合起来,能否达到预期要求的父功能; ⑤全局数据结构是否有问题;

⑥单个模块的误差累积起来,是否会放大,从而达到不能接受的程度;

A.①②④⑤⑥ B.②③④⑤⑥ C.①②③⑤⑥ D.以上全部正确 28、新开发的数据库管理系统中,数据库管理员张工发现被用户频繁运行的某个查询处理程序使用了多个表的连接,产生这一问题的原因在于(1).在保证该处理程序功能的前提下提高其执行效率,他应该(2).

(1) A.需求分析阶段对用户的信息要求和处理要求未完全掌握 B.概念结构设计不正确

C.逻辑结构设计阶段未能对关系模式分解到BCNF D.物理设计阶段未能正确选择数据的存储结构

(2) A.建立该查询处理程序所用到表的视图,并对程序作相应的修改

B.建立查询处理程序所用到表进行必要的合并,并对程序作相应的修改 C.修改该程序以减少所使用的表

D.尽可能采用嵌套查询实现该程序的功能

29、在某学校的综合管理系统设计阶段,教师实体在学籍管理子系统中被称为\"教师\而在人事管理子系统中被称为\"职工\这类冲突描述正确的为______ A.语义冲突 B.命名冲突 C.属性冲突 D.结构冲突 30、以下选项中,可以用于Internet信息服务器远程管理的是______ A.Telnet B.RAS C.FTP D.SMTP

Telnet是进行远程登录的标准协议和主要方式,它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。所以telnet具有Internet信息服务器远程管理功能 RAS服务(Remote Access Service,远程访问服务),通过RAS可以在远程将PC登录到网站的服务器上,以便在非工作时间对网站进行紧急维护和内容删改。所以RAS也具有Internet信息服务器远程管理功能。 FTP(File Transfer Protocol)是个文件传输协议。正如其名:协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联系的方式、以及使用的操作系统无关。它的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。 SMTP称为简单Mail传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它是个请求/响应协议,命令和响应都是基于ASCII文本的。 31、计算机的指令系统不包括:______

A. 程序控制指令 B. 运算指令 C.数据传送指令 D.循环控制指令 常见指令按功能可划分为: ①数据处理指令:包括算术运算指令、逻辑运算指令、移

位指令、比较指令等。 ②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。 ③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。 ④输入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。 ⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。

32、OSI规定的网络协议包括几层并顺序排列:______

①数据链路层 ②网络层 ③传输层 ④会话层 ⑤表示层 ⑥应用层 ⑦物理层 ⑧TCP层 ⑨数据传输层

A.⑦①②③④⑤⑥ B.①⑦②③④⑤⑥ C.⑦⑧②③④⑥⑤ C.⑦①⑨③④⑤⑥

OSI的7层从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

33、软件测试的目的是______

A.评价软件的质量 B.发现软件的错误 C.找出软件中的所有错误 D.证明软件是正确的 34、为了提高测试的效率,应该______

A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据 C.在完成编码以后制定软件的测试计划 D.选择发现错误的可能性大的数据作为测试数据

35、下列与设计测试数据无关的文档是______

A.该软件的设计人员 B.程序的复杂程度 C.源程序 D.项目开发计划 36、软件调试的目的是______

A.找出错误所在并改正之 B.排除存在错误的可能性 C.对错误性质进行分类 D.统计出错的次数 调试跟测试是两个不同的过程,有着根本的区别.

1,软件测试是找出软件已经存在的错误,而调试是定位错误,修改程序以修正错误. 2,软件测试从一个已知的条件开始,有预知的结局 而调试从未知的条件开始,其结局不可预知

3,软件测试可以计划,可以预先制定测试用例和过程,工作进度可以度量.而调试不能计划,进度不可度量.

4,调试是在测试之后,在方法,思路,策略上都有所不同. 5,测试的对像可以是文档和代码 而调试的对像只能是代码 6.调试是随机性的 由程序员完成 为了程序可运行

测试是有目的性的 由测试人员完成 为了程序可完成指定功能 37、下列关于软件测试的叙述中,选择出全部正确的一组______ (1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的 (2) 尽量用公共过程或子程序去代替重复的代码段 (3) 测试是为了验证该软件已正确地实现了用户的要求 (4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径 (5) 尽量采用复合的条件测试,以避免嵌套的分支结构

(6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁

(7) 发现错误多的程序模块,残留在模块中的错误也多 (8) 黑盒测试方法中最有效的是因果图法

(9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写

(10) 程序效率的提高主要应通过选择高效的算法来实现 A.(4)(5)(6)(7)(10) B.(1)(2)(4)(5)(7) C.(2)(4)(5)(7)(9) D.以上描述全部正确 38、单元测试一般以白盒为主,测试的依据是______

A.模块功能规格说明 B.系统模块结构图 C.系统需求规格说明 D.ABC都可以 39、下列关于alpha、beta 测试的描述中正确的是:______ A.alpha 测试需要用户代表参加; B.beta 测试是不是验收测试的一种; C.alpha 测试不需要用户代表参加; D.beta 测试是系统测试的一种;

40、Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用______命令。 A.cat; B.more; C.less; D.menu;

cat 这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件less具有more相同的功能,同时支持方向键和前翻页,后翻页滚屏。more只能用空格键下翻,不小心翻多了就没法反回看。

41、string s = new string(“xyz”);创建了几个string object?______(多选) A.“xyz”; B.仅仅是s; C.指向“xyz”的引用对象s; D.仅仅是“xyz”; 42、关系模型的数据操纵即是建立在关系上的数据操纵,一般有______四种操作;(多选)

A.增加; B.删除; C修改.; D.查询; E.存储; F.定时触发 常用的关系操作包括查询操作和插入、删除、修改操作两大部分

43、一个文件名字为rr.Z,可以用来解压缩的命令是:______ A tar B gzip C compress D uncompress 44、对文件进行归档的命令为______ A dd B cpio C gzip D tar

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。[cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。

GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。

45、改变文件所有者的命令为______

A chmod B touch C chown D cat 利用 chmod 可以藉以控制档案如何被他人所存取。 touch更新文件的访问和修改时间。

利用 chown 可以将档案的拥有者加以改变。 46、用ftp进行文件传输时,有两种模式:______ A Word和binary B .txt和Word Document C ASCII和binary D ASCII和Rich Text Format

47、若文件A的创建者希望对所有用户(包括其自身)可读写文件A但不可执行A,可用下列哪一个命令完成? ______

A. chown 333 A B. chown 666 A C. chmod 555 A D. chmod 666 A

48、在UNIX文件系统中,若在根文件系统的某个子目录上挂上其它的文件系统,可使用的命令是______

A. mount B. more C. grep D. nice

mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来, grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。nice更改过的优先序来执行程式, 如果未指定程式, 则会印出目前的排程优先序,.

49、在SQL语言的Select语句中,用于对结果元组进行排序的是哪一个子句?______ A.GROUP BY B.HAVING C.ORDER BY D.Where 50、关系模型中实体与实体间是通过______联系的. A.表 B.图 C.树 D.关系 51、在SQL语法中,用于更新的命令是______

A.INSERT B.UPDATE C.DELETE D.CREATE 说明:几个简单的基本的sql语句 选择:select * from table1 where 范围

插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like '%value1%' ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1

52、关于自动化测试局限性的描述,以下错误的描述有______

53、A.自动化测试不能取代手工测试 B.自动测试比手工测试发现的缺陷少 C.自动测试不能提高测试覆盖率 D.自动化测试对测试设计依赖性极大

53、测试ATM取款功能,已知取款数只能输入正整数,每次取款数要求是100的倍数且不能大于500,下面哪个是正确的无效等价类______

A.(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞); B.(500, +∞);

C.(500, +∞)、任意大于0小于500的非100倍数的整数;

D.(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500, +∞);

java web面试题

第1题.? 编写一个Filter,需要()? ???A.? 继承Filter 类? ???B.? 实现Filter 接口? ???C.? 继承HttpFilter 类? ???D.? 实现HttpFilter接口? 正确答案为:B?

第2题.? 自定义标签的配置文件放在________? ???A.? WebRoot? ???B.? lib? ???C.? classes? ???D.? WEB-INF? 正确答案为:D?

第3题.? 有关会话跟踪技术描述正确的是(多选)?

???A.? Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端? ???B.? 关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期? ???C.? 在禁用Cookie时可以使用URL重写技术跟踪会话?

???D.? 隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示? ?正确答案为:ABC?

第4题.? 在J2EE中,重定向到另一个页面,以下()语句是正确的? ???A.? request . sendRedirect(“http :// www . svse . com . cn”);?

???B.? request . sendRedirect();?

???C.? response . sendRedirect(“http: // www . svse . com . cn”);? ???D.? response .sendRedirect();? 正确答案为:C?

第5题.? EL表达式,${10 mod3},执行结果为:? ???A.? 10 mod 3? ???B.? 1? ???C.? 3? ???D.? null? 正确答案为:B?

第6题.? 自定义标签的作用是? ???A.? 编写和使用方便?

???B.? 规定是这样的,如果不用,别人会说我们不专业?

???C.? 可以减少jsp中的java代码,将代码与界面标签分离,简化前台开发? ???D.?? 连数据库? ?正确答案为:C?

第7题.?request.getRequestDispatcher().forward(request,response)称之为? ???A.? 流转? ???B.? 转发 ? ???C.? 重定向? ???D.? 导航? 正确答案为:B?

第8题.? 有关Servlet的生命周期说法正确的有 (多选)? ???A.? Servlet的生命周期由Servlet实例控制?

???B.? init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象? ???C.? service()方法响应客户端发出的请求? ???D.? destroy()方法释放Servlet实例? 正确答案为:BCD?

第9题.? 在J2EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是()。(选择一项) Public class Servlet1 extends HttpServlet{

???????? Publicvoid init() throws ServletException{ ???????? }

???????? Publicvoid service(HttpServletRequest request,HttpServletResponse response) ??????????????????????????? ThrowsServletException,IOException{ ?????????????????? PrintWriterout = response.getWriter(); ?????????????????? out.println(“hello!”); ???????? } }?

???A.? 编译该文件时会提示缺少doGet()或者dopost()方法,编译不能够成功通过?

???B.? 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!? ???C.? 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字? ???D.? 编译后,把Servlet1.class放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息? ?正确答案为:B?

第10题.? 在Servlet中,response.getWriter()返回的是____________? ???A.? JspWriter对象? ???B.? PrintWriter对象?

???C.?? Out对象?

???D.? ResponseWriter对象? 正确答案为:B?

第11题.? 在web.xml中使用___________标签配置过滤器? ???A.? ? ???B.? ? ???C.? ? ???D.? ? ?正确答案为:A?

第12题.? 自定义标签的描述文件在web.xml中配置正确的? ???A.?

?????????bob-tld

???????? ?/WEB-INF/bob.tld ?????? ???B.?

?????????bob-tld

???????? ? /WEB-INF/bob.tld ?????? ???C.?

?????????bob-tld

???????? ?/WEB-INF/bob.tld ? ???D.? ?????

?????????bob-tld

???????? ?/WEB-INF/bob.tld ????? ? 正确答案为:D?

第13题.? J2EE中,Servlet API为使用Cookie,提供了()类。? ???C.? javax.servlet. Cookie? 正确答案为:A?

第14题.? 在访问Servlet时,在浏览器地址栏中输入的路径是在_______地方配置的? ???A.? ? ???B.? ? ??? C.? ? ???D.? ? 正确答案为:D?

第15题.? 在JSP页面中,能够完成输出操作的内置对象是? ???A.? out? ???B.? response? ???C.? request? ???D.? config? 正确答案为:A?

第16题.? 给定以下JSP代码片段,有2个客户依次浏览该JSP;且每个客户只浏览一次,第2个客户会看到浏览器显示()。(请选择一项)

<%int x = 1; %> <%!int x = 10; %> X =<%=x%>? ???A.? x=1? ???B.? x=2? ???C.? x=10? ???D.? x=11? 正确答案为:A?

第17题.? 在JSP中,若要在JSP正确使用标签:,在jsp中声明的taglib指令为:<%@tagliburi = “/WEB-INF/myTags.tld” prefix = “_____”%>,下划线处应该是? ???A.? x? ???B.? getKing? ???C.? myTags? ???D.? king? 正确答案为:A?

第18题.? 能够保留请求作用域中数据的转向方式是______________? ???A.? response.forward()? ???B.? response.sendRedirect()?

???C.?session.getRequestDispatcher().forward(request,response)? ???D.?request.getRequestDispatcher().forward(request,response)? 正确答案为:D?

第19题.? Login.jsp为登录页面,表单代码如下:

????? ?????

Index.jsp中直接显示用户名,以下哪种代码正确()? ???A.? ${requestScope.name}? ???B.? <%=name%>? ???C.? ${param.name}? ???D.? <%=param.name%>? 正确答案为:C?

第20题.? 某JSP中有如下代码,显示结果为() <%

???????? inta = 5;

???????? request.setAttribute(“a”,”123”); ???????? session.setAttribute(“a”,”456”); %>

? ???A.? 5? ???B.? 123? ???C.? 456? ???D.? null? 正确答案为:B?

第21题.? 在a.jsp中有代码片断如下:

loginName:

在b.jsp中加入下列()代码,可以输出在a.jsp页面上输入的loginName的值(多选)? ???A.?<%=request.getParameter(“loginName”)%>? ???B.? <%=request.gerAttribute(“loginName”)%>?

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

???D.? <% Stringname=request.getAttribute(“loginname”); out.println(name); %>? 正确答案为:AC?

第22题.? 要在jsp中使用ArrayList,做法正确的是? ?正确答案为:C?

第23题.? 如果只希望在多个页面间共享数据,可以使用__________作用域? ???A.? request,session? ???B.? application session? ???C.? request,application? ???D.? pageContext request? 正确答案为:A?

第24题.? 在编写过滤器时,需要完成的方法? ???A.?? doFilter()? ???B.? doChain()? ???C.? doPost()? ???D.? doDelete()? 正确答案为:A?

第25题.? 以下代码执行效果为():

???????? ? ???A.? 1 2 3 4 5? ???B.? 1 3 5? ???C.? i i i? ???D.? 15? 正确答案为:B?

第26题.?request.setAttribute(\"user\session.setAttribute(\"user\使用{user}则显示? ???A.? null? ???B.? svse? ???C.?? bob? ???D.?? 啥也没有? ?正确答案为:B?

第27题.? 给定一个 Servlet 的doGet方法中的代码片段,如下: ???????? request.setAttribute(“name”,”zhang”);

???????? 那么在 MyServlet中可以使用()方法把属性 name的值取出来。? ???A.? Stringstr=request.getAttribute(“name”);? ???B.? Stringstr=(String)request.getAttribute(“name”);?

???C.? Objectstr=request.getAttribute(“name”);? ???D.? 无法取出来? ?正确答案为:D?

第28题.? 在JSP中,test . jsp文件如下,试图运行时,将发生()。

???????? ??? <% String str = null; %> ???????? ??? str is <%= str%> ?

???A.? 转译期有误?

???B.? 编译Servlet源码时发生错误? ???C.? 执行编译后的Servlet时发生错误? ???D.? 运行后,浏览器上显示:str isnull? 正确答案为:D?

第29题.? 自定义标签中,如果要声明标签参数为必须的,则需要进行哪种配置:? ???A.?true? ???B.?true? ???C.? false? ???D.?false? 正确答案为:A?

第30题.? 编写自定义标签处理类后,需要编写一个()去描述? ???A.?? .tag文件? ???B.? .tld文件? ???C.? dtd文件? ???D.? .xml文件? 正确答案为:B?

第31题.? 考虑下面JSP文件代码片断:

以下()代码片断放置在test2.jsp中不会导致错误? ???A.? ? ???B.? ?

???C.? <%=request.getParameter(“username”)%>? ???D.?<%=request.getAttribute(“username”)%>? ?正确答案为:C?

第32题.? 在HTTP协议中,用于发送大量数据的方法是? ???A.? get? ???B.? post? ???C.? put? ???D.? options? 正确答案为:B?

第33题.? J2EE 中,()类型的()方法用于得到会话?

???A.? HttpServletRequest、getSession? ???B.? HttpServletResponse、newSession? ???C.? HtttpSession、newInstance? ???D.? HttpSession、getSession? 正确答案为:A?

第34题.? 以下代码执行效果为: ???????? ? ???A.? 1 2 3 4 5? ???B.? i i i i i? ???C.? 15? ???D.? 编译错误? 正确答案为:A?

第35题.? MVC中的 M??? V????C? 分别用_______、_______、_____表示? ???A.? jsp? servlet?javabean? ???B.? HTml? javabean?jsp ? ???C.? javabean jsp? servlet? ???D.? servlet?? html?jsp? 正确答案为:C?

第36题.?pageContext.setAttribute(\"user\request.setAttribute(\"user\显示\"bob\则可以使用?

???A.?{request.getAttribute(\"user\")}? ???B.? {param.user}? ???C.? {user}?

???D.? {requestScope.user}? ?正确答案为:D?

第37题.? 以下哪个标签实现了switch功能? ???A.? ? ???B.? ? ???C.? ? ???D.? ? ?正确答案为:C?

第38题.? 在jsp中导入自定义标签的方式正确的是? ???A.? web.xml文件的? ???B.? <%@ tagliburi=\"\"?prefix=\"\"%>? ???C.? ? ???D.? 无需导入,可直接使用? 正确答案为:B?

第39题.? public classSecurityFilter? __________________{ ... }

如果想要让该类成为一个过滤器,横线处应为? ???A.?? implements HttpFilter? ???B.? extends Filter?

???C.? extends HttpFilter? ???D.? implements Filter? 正确答案为:D?

第40题.? 在JSP中可动态导入其他页面的标签是? ???A.? <%include/> ???B.<%@ include%>? ???C.? ? ???D.? ? ?正确答案为:D?

第41题.? 下面哪项是错误的设置Bean属性值的方法?

???A.? ?

???B.? ?

???C.? ? ???D.? }\"/>? 正确答案为:D? 第42题.? <%

????String count=\"100\";

????pageContext.setAttribute(\"cnt\%>

Count:{pageScope.cnt 100} 显示为? ???A.? 100100? ???B.? 运行异常? ???C.?? 200?

???D.?? 没有任何显示? 正确答案为:C?

第43题.? 在 J2EE中,使用 Servlet 过滤器,需要在web.xml中配置()元素 (选择两项)? ???A.? ?

???B.? ? ???C.? ? ???D.? ? ?正确答案为:AB?

第44题.? 在JSP中,只有一行代码:<%=AB%>,运行将输出? ???A.? A B? ???B.? AB? ???C.? 113?

???D.? 没有任何输出,因为表达式是错误的? 正确答案为:D?

第45题.? 在J2EE中,假如HttpSession的getLastAccessTime()方法返回值为x,getCreationTime()方法返回值为y,则为x - y()?

???A.? 两个连续请求之间间隔的最长时间? ???B.? 最近的两个连续请求之间的时间间隔?

???C.? 最后使用session发送请求的时间和session创建时间的间隔? ???D.? 最后使用session发送请求的时间? 正确答案为:C?

第46题.? 自定义标签中,使用属性时,需要在______文件中配置,使用_______标签? ???A.? .tld???? ?

???B.?? web.xml?? ? ???C.? .tld???? ? ???D.? web.xml ??? 正确答案为:A?

第47题.? 以下哪个方法不是TagSupport类的方法? ???A.? doPost()? ???B.? doStartTag()? ???C.? doEndTag()? ???D.? doAfterBody()? ?正确答案为:A?

第48题.? Jsp中有如下代码: <%

Cookie c = new Cookie(“name” , “admin”); c.setMaxAge(10000); response.addCookie(c); %>

以下哪句代码可以正确显示”admin”? ???A.? ${cookie.name}? ???C.? ${ name}? ???D.? ${name.value}? 正确答案为:B?

第49题.? 以下()可用于检索session属性userid的值? ???A.? session. getAttribute(“userid”);? ???B.? session. setAttribute(“userid”);? ???C.? request. getParameter(“userid”);? ???D.? request. getAttribute(“userid”);? 正确答案为:A?

第50题.? 给定某Servlet程序的片段如下,用户在浏览器地址栏中键入正确的请求URL并回车后,在控制台上显示的结果是(). ??????(选择一项)

???public void doGet(HttpServletRequest request,HttpServletResponseresponse) ???throws ServletException ,IOException ??? { ??? }

???public void doPost(HttpServletRequest request,HttpServletResponseresponse) ?? ?throws ServletException ,IOException ??? { ???}? ???A.? get? ???B.? post? ???C.? get post? ???D.? post get?

?正确答案为:A?

第51题.? test.jsp文件中有如下一行代码:

要使user对象可以作用于整个应用程序,下划线中应添入()? ???A.? page? ???B.? request? ???C.? session? ???D.? application 正确答案为:D?

第52题.? JSP中有三大类标签,分别是? ???A.? HTML标记?? JSP标记?? Servlet标记? ???B.?? CSS标记?? HTML标记?? Javascript标记? ???C.?? 动作标记?? 脚本标记?? 指令标记? ???D.? 指令标记? 脚本标记? HTML标记? 正确答案为:C?

第53题.? 在JSP中,只有一行代码:${1+2},运行将输出()? ???A.? 1+2? ???B.? 3? ???C.? null?

???D.? 没有任何输出,因为表达式是错误的? ?正确答案为:B?

第54题.? 下面__________方法可以返回当前请求的请求方式? ???A.? request.getAttribute()? ???B.? session.getMethod()? ???C.?? request.getMethod()? ???D.? request.getRequestURI()? 正确答案为:C?

第55题.? 利用MyEclipse开发Servlet,下列说法正确的是? ???A.? MyEclipse可自动产生web.xml?

???B.? MyEclipse不能自动产生web.xml,需要手工编写? ???C.? 可利用MyEclipse自带的Tomcat作为Servlet容器? ???D.? MyEclipse没有自带Tomcat,需要自己安装配置。? 正确答案为:AC?

第56题.? 当一个Servlet首次被请求的时候,服务器首先会调用________方法? ???A.? doGet? ???B.? doPost? ???C.? doInit? ???D.? init? ?正确答案为:D?

第57题.? 只能够传递字符串类型数据的方式是_________? ???A.? 表单?? URL重写? ???B.? session对象?? 表单? ???C.? 隐藏域?? setParameter方法? ???D.? 都可以? 正确答案为:A?

第58题.? 某JSP中有如下代码: <%

pageContext.setAttribute(“a”,”page”); request.setAttribute(“a”,”request”);

session.setAttribute(“a”,”session”); application.setAttribute(“a”,”application”); %> 有:${a} 则显示结果为:? ???A.? page? ???B.? request? ???C.? session? ???D.? application? ?正确答案为:A?

第59题.? 过滤器使用______________才能继续传递到下一个过滤器? ???A.?request.getRequestDispatcher().forward(request,response);? ???B.? doFilter()? ???C.? doPut()? ???D.? doChain()? 正确答案为:B?

第60题.? 在Servlet里,能实现跳转的方法有? ?正确答案为:BC?

第61题.? 以下哪项陈述是错误的?

???A.? 在WEB项目的共享数据范围内,application是范围最广泛的?

???B.? 当我们在一个JSP页面新开窗口时,新开窗口的页面也共享session范围内的数据?

???C.? 当在JSP页面中通过指令将页面请求转发到的页面中,可以共享一个page范围内的数据? ???D.? 当用户重新打开一个浏览器窗口时,原session对象不再有效? 正确答案为:C?

第62题.? 下面关于JSP作用域对象的说法错误的是? ???A.? request对象可以得到请求中的参数? ???B.? session对象可以保存用户信息? ???C.? application对象可以被多个应用共享?

???D.? 作用域范围从小到达是request、session、application? ?正确答案为:C?

第63题.? 以下代码能否编译通过,假如能编译通过,运行时得到什么输出结果()。 <%

request.setAttribute(\"count\Integer count =request.getAttribute(\"count\") ; %>

<%=count %>? ???A.? 编译不通过?

???B.? 可以编译运行,输出0?

???C.? 编译通过,但运行时抛出ClassCastException? ???D.? 可以编译通过,但运行无输出? ?正确答案为:A?

第题.? 在Servlet中,下列语句可以正确获取PrintWriter对象的是? ???A.? PrintWriter out=request.getWriter();? ???B.? PrintWriter? out?=? request.getPrintWriter();? ???C.? PrintWriter out=response.getWriter();? ???D.? PrintWriter? out?=? response.getPrintWriter();?

正确答案为:C?

第65题.? 有showgamej.jsp,代码如下 <%

?????????Game game=request.getAttribute(\"gameEntity\"); %>

<%=game.getGameName()%>

访问时,出现500错误,报出异常为NullPointerException造成该问题的原因可能是:? ???A.? jsp文件路径不对?

???B.? game对象没有用new初始化? ???C.? getGameName()方法未定义?

???D.? 参数名称所代表的对象在请求中根本就不存在? ?正确答案为:D?

第66题.? 从JSP中将数据传递给另一个JSP或Servlet,方式有____________? ???A.? 表单?? javascript??HTML标签? ???B.? 表单??? URL重写??? setAttribute方法? ???C.? URL重写?? 隐藏域?? 表单? ???D.? JSP的标签? 正确答案为:B?

第67题.? 在编写Servlet时需要__________? ???A.? 继承Servlet?

???B.? 实现HttpRequestServlet? ???C.? 继承HttpServlet? ???D.? 实现HttpRequest? 正确答案为:C?

第68题.? 现在session中没有任何属性,阅读下面2个JSP中的代码,将分别输出()。 ???????? <%

?????????????????? out.println(session.getAttribute(\"svse\")); ???????? %> ???????? <%

?????????????????? session.invalidate();

?????????????????? out.println(session.getAttribute(\"svse\")); ???????? %>? ???A.? null, 异常信息? ???B.? null, null?

???C.? 异常信息,异常信息? ???D.? 异常信息,null? 正确答案为:A?

第69题.? Http协议的状态码()表示文件没有创建? ???A.? 200? ???B.? 400? ???C.? 500? ???D.? 404? 正确答案为:D?

第70题.? Servlet程序的入口点是:? ???A.? init()? ???B.? main()?

???C.? service()? ???D.? doGet()? ?正确答案为:A?

第71题.? 如下代码,执行效果为() ? ???A.? 123? 123? ???B.? a??? 123? ???C.? 123? a? ???D.? A??? a???? ? 正确答案为:C?

第72题.? 在JSP页面中通过将本页面请求转发至指定URL指定的文件,则在该URL组件(JSP页面)中可接收数据的范围是(选择3项)? ???A.? session? ???B.? request? ???C.? page? ???D.? application? 正确答案为:ABD?

第73题.? 在WEB应用中,数据传递的默认编码是? ???A.? ISO-8859-1? ???B.? UTF-8? ???C.? GBK? ???D.? UNICODE? 正确答案为:A?

第74题.? 以下哪句代码可以正确导入核心标签库? ???A.? <% page import =\"c\"%>?

???B.? <% page prefix =\"c\" uri = \"/WEB-INF/c.tld\"%>? ???C.? <% taglib prefix =\"c\" import = \"/WEB-INF/c.tld\" %>? ???D.? <% taglib prefix =\"c\" uri = \"/WEB-INF/c.tld\"%>? ?正确答案为:D?

第75题.? 从HTTP请求中,获得请求参数,应该调用? ???A.? request对象的getAttribute()方法? ???B.? request对象的getParameter()方法? ???C.? session对象的getAttribute()方法? ???D.? session对象的getParameter()方法? ?正确答案为:B?

第76题.? 在servlet中的doGet和doPost方法中只有如下代码: () ?????????request.setAttribute(”jb”,”aPtech”);

???????那么在Servlet2 中使用()可以把属性jb的值取出来? ???A.? String str =request.getAttribute(“jb”);? ???B.? String sir=(String)request.getAttribute(“jb”);? ???C.? Object str =request.getAttribute(“jb“);? ???D.? 取不出来? 正确答案为:D?

第77题.? J2EE中,HttpServletRequest类的( )方法用返回与当前请求相关联的会话,如果没有,则返回null?

???A.? getSession()? ???B.? getSession(true)? ???C.? getSession(false)? ???D.? getSession(null)? ?正确答案为:C?

第78题.? Servlet 接受请求时,会调用_____________? ???A.? service? ???B.? doGet? ???C.? doPost? ???D.? init? ? 正确答案为:A?

第79题.? 关于,下列说法不正确的是()? ???A.? 它可以包含静态文件? ???B.? 它可以包含动态文件?

???C.? 当它的flush属性为true时,表示缓冲区满时,将会被清空? ???D.? 它的flush属性的默认值为true? 正确答案为:D?

第80题.? 在一个Filter中,处理filter业务的是()方法?

???A.? dealFilter (ServletRequestrequest,ServletResponse response,FilterChain chain)? ???B.? dealFilter (ServletRequestrequest,ServletResponse response)?

???C.? doFilter (ServletRequestrequest,ServletResponse response, FilterChain chain)? ???D.? doFilter (ServletRequestrequest,ServletResponse response)? ?正确答案为:C?

第81题.? 在自定义标签中,HelloTag继承自TagSupport类,其中有如下代码: out.println(\"HELLO\"); 该out对象声明方法为:?

???A.? PrintWriter out =response.getOut();? ???B.? JspWriter out =pageContext.getOut();? ???C.? JspWriter out =pageContext.getWriter();? ???D.? PrintWriter out =response.getWriter();? ?正确答案为:B?

第82题.? Servlet的运行过程是?

???A.? 当请求Servlet时,服务器会即时加载Servlet类,然后对该类进行实例化,调用相应的方法处理请求? ???B.? 首先对Servlet 进行配置,然后服务器在处理请求时,将配置过的Servlet类找到,然后实例化处理请求? ???C.? 在服务器启动时,会加载Servlet,然后在处理请求的时候,实例化Servlet对象处理请求?

???D.? Servlet是一个具有接受请求和响应功能的类,在被请求时,Servlet早就被实例化好了,可以直接处理请求? ?正确答案为:C?

第83题.? 在JSP中,对<jsp:setProperty>标记描述正确的是()?

???A.? 必须在一个JSP文件中搭配出现? ???B.? 就如同session.setAttribute()一样,来设计属性/值对? ???C.? 和动作一起使用,来设置bean的属性值? ???D.? 就如同request.setAttribute()一样,来设置属性/值对? ? 正确答案为:C?

第84题.? 在Servlet中有一段代码如下??

public void doPost(HttpServletRequestrequest, HttpServletResponse response) ???????????????????????????????????? throwsServletException, IOException {

????request.setAttribute(\"name\????response.sendRedirect(\"show.jsp\"); ? }

在show.jsp中

<%=request.getAttribute(\"name\")%> 页面结果为? ???A.? 100? ???C.? Integer? ???D.? null? ?正确答案为:D?

第85题.? test.jsp文件如下: <%buffer.append(\"ABC\");%> Buffer is <%=buffer%> 试图运行时,将发生()? ???A.? 编译期错误?

???B.? 编译Servlet源码时发生错误? ???C.? 运行Servlet时发生错误?

???D.? 运行后,浏览器上显示:buffer isABC.? 正确答案为:A? 第86题.?

??message

??empty ??

?????name ?????true ??

对这段配置描述正确的是?

???A.?? 定义了一个message标签,有一个属性叫name?

???C.? 声明了一个名字为message的标签,该标签对应到MessageTag类,并且标签没有主体内容? ???D.? 标签配置错误,主体不能为空? 正确答案为:B?

第87题.? public class Writerimplements TagSupport{?? (1) ??protected int doStartTag(){SKIP_BODY}??? (2) ??public int doEndTag(){return EVAL_PAGE} (3) }

有问题的语句是? ???A.?? 2? 3? ???B.? 3? ???C.? 1? 2?3? ???D.? 1?

2? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

? 正确答案为:D?

第88题.? 支持中文的常用字符集有? ? ??A.?UTF-8?? GBK? ZH23?BIG5? ???B.? ISO-8859-1? MS950???? ???C.? UTF-8?? GBK?GB2312? BIG5? ???D.? UTF-16? ANSI?SQL?? 正确答案为:C?

第题.? Servlet 可以在以下()三个不同的作用域存储数据? ???A.? 请求、会话和上下文? ???B.? 响应、会话和上下文? ???C.? 请求、响应和会话? ???D.? 请求、响应和上下文? 正确答案为:A?

第90题.? 在Filter过滤器的生命周期方法中,每当传递请求或响应时,web容器会调用()方法? ???A.? init? ???B.? service? ???C.? doFilter? ???D.? destroy? ? 正确答案为:C?

第91题.? application对象是______________? ,而session对象则是_____________? ???A.? 服务器的一个数据空间,可以让服务器中的所有应用共享数据?????? 与用户的请求有关? ???B.? 应用程序上下文,它允许数据在同一应用程序中的任何Web组件共享???? 每个客户专用的? ???C.? 存放所有的请求中数据???? 存放会话中的所有数据? ???D.? HttpApplication类型??? 保存用访问应用期间的私有数据? 正确答案为:B?

第92题.? 给定一个Model1体系结构,其中有一个JSP页面处理所有控制器函数,这个JSP控制器要把请求分派给另一个JSP页面? ???A.? ??? ???B.? ??? ???C.? ??? ???D.? ??? ?正确答案为:A?

?????

?? 员工名:_____________________. ?显示员工姓名正确的做法是? ???A.? {emp.ename}? ???D.? {emp.getEname()}? ? 正确答案为:C?

第94题.? 以下哪个参数不属于标签? ???A.? var? ???B.? begin? ???C.? end? ???D.? delims? ?正确答案为:D?

第95题.? 在J2EE中,以下对RequestDispatcher描述正确的是? ???A.? Jsp中有个隐含的对象diapatcher,它的类型是RequestDispatcher?

???B.? ServletConfig有一个方法:getRequestDispatcher可以返回RequestDipatcher对象? ???C.? RequestDipatcher 有一个方法:forward可以把请求继续传递给别的Servlet或者JSP界面? ???D.? JSP中有个隐含的默认对象request,它的类型是RequestDipatcher? ?正确答案为:C?

第96题.? 关于MVC模式说法正确的是? ???A.? 用来将代码分开的方法?

???B.? 将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度? ???C.? 视图 模型 控制器模型? ???D.? 只用java才有的模型? ? 正确答案为:B?

第97题.? 在JSP页面中,类型为HttpServletResponse的内置对象是? ???A.? out? ???B.? response? ???C.? request? ???D.? config? ? 正确答案为:B?

第98题.? 在JSP页面中,保存数据的范围由小到大依次是? ???A.?pageContext,request,application,session? ???B.? pageContext,application,session,request? ???C.?pageContext,request,session,application? ???D.?pageContext,session,request,application? ? 正确答案为:C?

第99题.? http是一个()协议? ???A.? 无状态? ???B.? 有状态? ???C.? 状态良好的? ???D.? 局域网? ? 正确答案为:A?

第100题.? 编写Servlet 的doPost方法时,需要抛出异常为? ???A.? ServletException,IOException? ???B.? ServletException,RemoteException? ???C.? HttpServletException,IOException? ???D.? HttpServletException,RemoteException? ?正确答案为:A?

第101题.? 使用GET方式提交数据,接收数据时,处理中文最直接有效方式为? ???A.?request.setCharacterEncoding(\"utf-8\");?

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

???C.? String name=newString(request.getParameter(\"name\").getBytes(\"ISO-8859-1\"),\"gbk\");? ??? D.?response.setCharacterEncoding(\"gbk\");? 正确答案为:C?

第102题.? 在JSP页面中,正确引入JavaBean的是()?

???A.? <%jsp: useBean id =”myBean”scope =”page” class=”pkg.MyBean” %>? ???B.? ? ???C.? ? ???D.? ? ? 正确答案为:C?

第103题.? Tomcat的端口号可以在_____文件中修改? ???A.? server.xml? ???B.? web.xml? ???C.? tomcat.xml? ???D.? 不能改? ?正确答案为:A?

第104题.? 给定TheBean类,假设还没有创建TheBean类的实例,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域? ?? 正确答案为:C?

第105题.? 有三个JSP文件如下? 1.jsp

To 2.jsp 2.jsp

<%Stringuser=request.getParameter(\"user\");%> 3.jsp

<%=request.getParameter(\"user\")%> 页面中输出? ???A.? 报错? ???B.? 什么都没有? ???C.? null? ???D.?? svse? ? 正确答案为:D?

第106题.? 自定义标签的描述文件在web.xml中配置正确的? ???A.?

?????????bob-tld

???????? ?/WEB-INF/bob.tld ?????? ???B.?

?????????bob-tld

???????? ?/WEB-INF/bob.tld ?????? ???C.?

?????????bob-tld

???????? ?/WEB-INF/bob.tld ? ???D.? ?????

?????????bob-tld

???????? ?/WEB-INF/bob.tld ????? ? ?正确答案为:D?

第107题.? Servlet中,HttpServletResponse的()方法用来把一个Http请求重定向到另外的URL.? ???A.? sendURL()? ???B.? redirectURL()?

???C.? sendRedirect()? ???D.? redirectResponse()? ? 正确答案为:C?

第108题.? 在J2EE中,对于HttpServlet类的描述,错误的是?

???A.? 我们自己编写的Servlet继承了HttpServlet类,一定需覆盖doPost或者doGet? ???B.? Httpservlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法?

???C.? Httpservlet类中处理客户请求和响应时所使用的两个接口是:HttpServletRequest和HttpServletResponse.?

???D.? 我们自己编写的servlet继承了Httpservlet类,一般只需要覆盖doPost或doGet方法,不必覆盖servive()方法,因为一个service()方法会调用doPost或者doGet方法? ? 正确答案为:A?

第109题.? 在JSP中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*和java.util.*包.正确的是? ???A.? <%@ pageLanguage=“Java”,import=”java.rmi.*;java.uitl.* ”%”>? ???B.? <%@ pagelanguage=“Java” import=”java.rmi.* ;java.uitl.* ”%”>? ???C.? <%@ pagelanguage=“Java”;import=”java.rmi.*;java.uitl.* ”%”>? ???D.? <%@ pagelanguage=“Java” import=”java.rmi.* ,java.uitl.* ”%>? ?正确答案为:D?

第110题.? 下面关于MVC的说法不正确的是? ???A.? M表示Model层,是存储数据的地方? ???B.? View表示视图层,负责向用户显示外观? ???C.? Controller是控制层,负责控制流程? ?? ?D.? 在MVC架构中 jsp通常做控制层? ?正确答案为:D?

第111题.? 给定test1.jsp代码片断,如下:

要在test2.jsp中输出参数color中的值,以下选项正确的是()? ???A.? <%=request.getParameter(“color”)%>? ???B.?<%=request.getAttribute(“color”)%>? ???C.? ? ???D.? ? ?正确答案为:A?

第112题.? 在JSP中,给定以下JSP代码片段,运行结果是()。 ???????? <%? int x=5;?%> <% !?int x=7; ?%> ???????? <%!

???????? ?? Int getX(){ ?????????????????? returnx; } %>

<%?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? ??? 正确答案为:A?

第113题.? 在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是放()文件的? ???A.? .jsp文件? ???B.? .class文件? ???C.? .jar文件? ???D.? web.xml文件? ?正确答案为:C?

第114题.? 给定一个Servlet程序的代码片段,如下:()

Public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws ServletException {

????request.getSession().getAttribute(“A”);? //第二行 }

假定第二行返回的对象引用不是null,那么这个对象存储在()范围中? ???A.? page? ???B.? session? ???C.? request? ???D.? application? 正确答案为:B?

第115题.? 在 J2EE中,使用Resultset对象的 next()方法移动光标时,如果超过界限,会抛出异常,该异常通常是? ???A.? InterruptedExceptlon? ???B.? AlreadyBoundExceptlon? ???C.? SQLException? ???D.? NetExcePtlon? ?正确答案为:C?

第116题.? 以下代码执行效果为:() <%

session.setAttribute(“a”,”svse”); %>

1}”> ? ???A.? a? ???B.? svse? ???C.? 2>1? ???D.? null? ??? 正确答案为:B?

第117题.? 给定一个Servlet的代码片段如下:(? )

???????? Publicvoid doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{??? ______

out.println(“hi kitty!”); out.close(); }

运行次Servlet时输出如下:

???????? hikitty!

则应在此Servlet下划线处填充如下代码? ???A.? PrintWriter out =response.getWriter();? ???B.? PrintWriter out =request.getWriter();?

???C.? OutputStream out =response.getOutputStream();? ???D.? OutputStream out =request.getWriter();? ? 正确答案为:A?

第118题.? 按作用域从大到小排列正确的是? ???A.? application page requestresponse? ???B.? session pageContext requestapplication? ???C.? public? application?session request? ???D.? application sessionrequest? pageContext? ?正确答案为:D? 第119题.? <%

???????String name=request.getAttribute(\"uname\"); %>

________________________

横线处使用什么代码可以将name的值显示在页面? ???A. ?response.print(name);?

???B.? <%request.getOut().print(name)%>? ???C.? <%=name%>? ???D.?

name

? ? 正确答案为:C?

第120题.? 在J2EE中,在web.xml中,有如下代码:

???????? 30

上述代码定义了默认的会话超时时长,时长为30()? ???A.? 毫秒? ???B.? 秒? ???C.? 分钟? ???D.? 小时? ?正确答案为:C?

第121题.? 在JSP中,<%=\"1+4\"%>将输出? ???A.? 1+4? ???B.? 5? ???C.? 14?

???D.? 不会输出,因为表达式是错误的? ? 正确答案为:A?

第122题.? jsp最终被运行的是? ???A.? 一个java文件? ???B.? 一个class文件? ???C.? 一个HTML? ???D.? 一个JSP? ? 正确答案为:B?

第123题.? 完整的配置一个Servlet需要__________________标签?

???A.??

???B.?? ???C.? ? ???D.?? ?正确答案为:B?

第124题.? 在J2EE中,标签库中文件(*.tld)存放在()目录下? ???A.? WEB—INF? ???B.? WEB—INF/tags? ???C.? WEB—INF/classes? ???D.? WEB—INF/lib? ?正确答案为:A?

第125题.? JSP EL 表达式:${user.loginName}执行效果等同于( )? ???A.?<%=user.getLoginName()%>? ???B.?<%user.getLoginName();%>? ???C.? <%=user.loginName%>? ???D.? <%user.loginName;%>? 正确答案为:A?

第126题.? 在JSP中,以下是有关标记的描述,正确的是()? ???A.? 标记都必须在的开始标记和结束标记之间? ???B.? 这两个标记的name属性的值必须和标记的id 属性的值相对应?

???C.? 标记可以用于对bean中定义的所有属性进行选择和设置? ???D.? 这两个标记的name属性的值可以和标记的id属性的值不同? 正确答案为:B?

第127题.? 在请求中没有包含名为user的参数时,使用如下语句 {user},则会出现? ???A.? 编译报错? ???B.? 运行出错? ???C.? null? ???D.? 什么都没有? ?正确答案为:D?

第128题.? 核心标签库中,用来实现循环功能的标签是()? ???A.? ? ???B.? ? ???C.? ? ???D.? ? ?正确答案为:D?

第129题.? 在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为? ???A.? .jsp文件? ???B.? .class文件? ???C.? .jar文件? ???D.? web.xml文件? ?正确答案为:A?

第130题.? 下列那个类是抽象类? ???A.? ServletConfig? ???B.? HttpServlet? ???C.? Cookie?

???D.? HttpServletRequest? 正确答案为:B?

第131题.? 在JSP中,page指令的()属性用来引入需要的包或类? ???A.? extends? ???B.? import? ???C.? languge? ???D.? contentType? ?正确答案为:B?

第132题.? 请求Servlet的时候,Servlet的对象由__________? ???A.? 服务器负责实例化? ???B.? 由开发人员在请求中实例化? ???C.? Servlet会自动实例化? ???D.? Servlet只加载,无需实例化? ?正确答案为:A?

第133题.? 过滤条件配置正确的是? ???A.?/*? ???B.?/user/*? ???C.?*? ???D.?*? ?? 正确答案为:B?

第134题.? 关于session的使用,下列说话正确的是(多选)? ???A.? 不同的用户窗口具有不同的session? ???B.? 不同的用户窗口具有相同的session? ???C.? session可能超时间? ???D.? session永远不可能超时? ?正确答案为:AC? ???A.?? {param.name}? ???B.? {name}?

???C.? {parameter.name}? ???D.?{param.get(\"name\")}? 正确答案为:A?

第136题.? {empty?param.user?\"Administrator\":param.user} 说法正确的是? ???A.? 编译时出错,不支持该语法?

???B.? 如果参数user为空则返回Administrator否则就返回user的值? ???C.?? 如果参数user为空字符则返回Administrator否则就返回user的值? ???D.? 如果参数user为空则返回user否则就返回Administrator的值? ?正确答案为:B?

第137题.? 不属于jsp动作标记的是? ???A.? ? ???B.? ? ???C.? ? ???D.? ? ?正确答案为:B?

J2EE相关基础知识

1、面向对象的特征有哪些方面? 1.??抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4.?多态性:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2、String是最基本的数据类型吗?

基本数据类型包括byte、int、char、long、float、double、boolean和short。

3、int?和?Integer?有什么区别

Java?提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。

原始类型封装类boolean?Boolean??char??Character??byte??Byte???short??Short int??Integer???long??Long???float??Float??double??Double

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为?null,而原始类型实例变量的缺省值与它们的类型有关。 4、String?和StringBuffer的区别

JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。 5、运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7、说出ArrayList,Vector,?LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 ????EJB包括Session?Bean、Entity?Bean、Message?Driven?Bean,基于JNDI、RMI、JAT等技术实现。

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

Session?Bean?还可以再细分为?Stateful?Session?Bean?与?Stateless?Session?Bean?,这两种的?Session?Bean都可以将系统逻辑放在?method之中执行,不同的是?Stateful?Session?Bean?可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应

的?Stateful?Session?Bean?的实体。Stateless?Session?Bean?虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫?Stateless?Session?Bean?的时候,EJB?Container?并不会找寻特定的?Stateless?Session?Bean?的实体来执行这个?method。换言之,很可能数个使用者在执行某个?Stateless?Session?Bean?的?methods?时,会是同一个?Bean?的?Instance?在执行。从内存方面来看,?Stateful?Session?Bean?与?Stateless?Session?Bean?比较,?Stateful?Session?Bean?会消耗?J2EE?Server?较多的内存,然而?Stateful?Session?Bean?的优势却在于他可以维持使用者的状态。 9、Collection?和?Collections的区别。?

Collection是集合类的上级接口,继承与他的接口主要有Set?和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。?

????&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap和Hashtable的区别。

????HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。? Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map?interface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap?就必须为之提供外同步。?

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。 12、final,?finally,?finalize的区别。?

final?用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

13、sleep()?和?wait()?有什么区别??

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。

??wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写?(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被\"屏蔽\"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别?

error?表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理 这样的情况。

??exception?表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。 16、同步和异步有何异同,在什么情况下分别使用他们?举例说明。

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

17、abstract?class和interface有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstract?class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract?类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract?类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static?final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof?运算符可以用来决定某对象的类是否实现了接口。 18、heap和stack有什么区别。

栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。 堆是栈的一个组成元素

19、forward?和redirect的区别

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

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

20、EJB与JAVA?BEAN的区别?

??Java?Bean?是可复用的组件,对Java?Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java?Bean是被容器所创建(如Tomcat)的,所以Java?Bean应具有一个无参的构造器,另外,通常Java?Bean还要实现Serializable接口用于实现Bean的持久性。Java?Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。 Enterprise?Java?Bean?相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 21、Static?Nested?Class?和?Inner?Class的不同。?

????Static?Nested?Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

22、JSP中动态INCLUDE与静态INCLUDE的区别?

动态INCLUDE用jsp:include动作实现?它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。会生成class文件,在页面被请求时应采取的动作.在请求期间将其他页面的输出包含进来,在被包含的页面中不能使用任何有可能总体上影响主页面的jsp构造。

静态INCLUDE用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@?include?file=\"included.htm\"?%>?不会生成class文件,在页面转换期间引入代码。 23、什么时候用assert。?

????assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。 24、GC是什么??为什么要有GC?

GC是垃圾收集的意思(Gabage?Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。?

25、short?s1?=?1;?s1?=?s1?+?1;有什么错??short?s1?=?1;?s1?+=?1;有什么错?? ????short?s1?=?1;?s1?=?s1?+?1;?(s1+1运算结果是int型,需要强制转换类型) ??short?s1?=?1;?s1?+=?1;(可以正确编译)

26、Math.round(11.5)等於多少??Math.round(-11.5)等於多少?? Math.round(11.5)==12 Math.round(-11.5)==-11

round方法返回与参数最接近的长整数,参数加1/2后求其floor. 27、String?s?=?new?String(\"xyz\");创建了几个String?Object?? ??两个对象,一个是\"xyx\一个是指向\"xyx\"的引用对象s。

28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public?class?ThreadTest1{

??private?int?j;

??public?static?void?main(String?args[]){ ThreadTest1?tt=new?ThreadTest1(); Inc?inc=tt.new?Inc(); Dec?dec=tt.new?Dec(); for(int?i=0;i<2;i++){ Thread?t=new?Thread(inc); t.start();

t=new?Thread(dec); t.start(); } }

??private?synchronized?void?inc(){ j++; ??}

??private?synchronized?void?dec(){ j--; ??}

??class?Inc?implements?Runnable{ public?void?run(){ for(int?i=0;i<100;i++){ inc(); } } ??}

??class?Dec?implements?Runnable{ public?void?run(){ for(int?i=0;i<100;i++){ dec(); } ?} ??}

}

29、Java有没有goto?

java中的保留字,现在没有在java中使用。 30、启动一个线程是用run()还是start()?

启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。?

31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

SessionBean:Stateless?Session?Bean(无状态)?的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful(有状态)?Session?Bean?时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful?Session?Bean?的方法时容器会把调用分派到与此客户机相关联的Bean实例。

EntityBean:Entity?Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity?beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity?beans也是存活的。Entity?Beans生命周期能够被容器或者?Beans自己管理。

EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun?Microsystems的Transaction?Service(JTS)、Java?Transaction?API(JTA),开发组(X/Open)的XA接口。 32、应用服务器有那些?

BEA?WebLogic?Server,IBM?WebSphere?Application?Server,Oracle9i?Application?Server,jBoss,Tomcat 33、给我一些你最常见到的runtime?exception。

ArithmeticException,?ArrayStoreException,?BufferOverflowException,?BufferUnderflowException,?CannotRedoException,?CannotUndoException,?ClassCastException,?CMMException,?ConcurrentModificationException,?DOMException,?EmptyStackException,?IllegalArgumentException,?IllegalMonitorStateException,?IllegalPathStateException,?IllegalStateException,?ImagingOpException,?IndexOutOfBoundsException,?MissingResourceException,?NegativeArraySizeException,?NoSuchElementException,?NullPointerException,?ProfileDataException,?ProviderException,?RasterFormatException,?SecurityException,?SystemException,?UndeclaredThrowableException,?UnmodifiableSetException,?UnsupportedOperationException

34、接口是否可继承接口??抽象类是否可实现(implements)接口??抽象类是否可继承实体类(concrete?class)?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。 35、List,?Set,?Map是否继承自Collection接口? ????List,Set是,Map不是

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

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

37、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 都不能

38、数组有没有length()这个方法??String有没有length()这个方法? 数组没有length()这个方法,有length的属性。String有有length()这个方法。

39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢??是用==还是equals()??它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。

equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。 40、构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。 41、是否可以继承String类? String类是final类故不可以继承。

42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给?switch?和?case?语句的参数应该是?int、?short、? char?或者?byte。long,string?都不能作用于swtich。

43、try?{}里有一个return语句,那么紧跟在这个try后的finally?{}里的code会不会被执行,什么时候被执行,在return前还是后? 会执行,在return前执行。

44、编程题:?用最有效率的方法算出2乘以8等於几? 2?<45、两个对象值相同(x.equals(y)?==?true),但却可有不同的hash?code,这句话对不对? 不对,有相同的hash?code。

46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递??

是值传递。Java?编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。??无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问,每个对象只有一个锁(lock)与之相关联。 48、编程题:?写一个Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式:

第一种形式:?定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public?class?Singleton?{ private?Singleton(){}

????//注意这是private?只供内部调用

????private?static?Singleton?instance?=?new?Singleton();

????//这里提供了一个供外部访问本class的静态方法,可以直接访问 ????public?static?Singleton?getInstance()?{ ????return?instance;? ????}?

????}?

????第二种形式:? public?class?Singleton?{?

private?static?Singleton?instance?=?null; private?Singleton(){};

public?static?synchronized?Singleton?getInstance()?{

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 ? //使用时生成实例,提高了效率! if?(instance==null)

instance=new?Singleton(); return?instance;? }? }? 其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些?

49、Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public?static,所有方法默认情况下是public.一个类可以实现多个接口。 50、Java中的异常处理机制的简单原理和应用。 51、垃圾回收的优点和原理。并考虑2种回收机制。

Java语言中一个显着的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有\"作用域\"的概念,只有对象的引用才有\"作用域\"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 52、请说出你所知道的线程同步的方法。

wait():使一个线程处于等待状态,并且释放所持有的对象的lock。

sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。

notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。

notityAll():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。 53、你所知道的集合类都有哪些?主要方法?

最常用的集合类是set、?List?和?Map。?List?的具体实现包括?ArrayList?和?Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。?List?适用于按数值索引访问元素的情形。?

Map?提供了一个更通用的元素存储方法。?Map?集合类用于存储元素对(称作\"键\"和\"值\"),其中每个键映射到一个值。

54、描述一下JVM加载class文件的原理机制?

JVM中类的装载是由ClassLoader和它的子类来实现的,Java?ClassLoader?是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

55、char型变量中能不能存贮一个中文汉字?为什么??

能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的 56、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口? 同步的实现方面有两种,分别是synchronized,wait与notify 57、JSP的内置对象及方法。(共有9个)

request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,? header,?和session数据的有用的方法。?

????response表示HttpServletResponse对象,并提供了几个用于设置送回?浏览器的响应的方法(如cookies,头信息等)?

????page表示从该页面产生的一个servlet实例

58、线程的基本概念、线程的基本状态以及状态之间的关系

线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。 Java中的线程有四种状态分别是:运行、就绪、挂起、结束。? 59、JSP的常用指令

<%@page?language=\"java\"?contenType=\"text/html;charset=gb2312\"?session=\"true\"?buffer=\"kb\"?autoFlush=\"true\"?isThreadSafe=\"true\"?info=\"text\"?errorPage=\"error.jsp\"?isErrorPage=\"true\"?isELIgnored=\"true\"?pageEncoding=\"gb2312\"?import=\"java.sql.*\"%> isErrorPage(是否能使用Exception对象),<%@page isELIgnored=”false”%>?(启用表达式) <%@include?file=\"filename\"%> <%@taglib?prefix=\"c\" uri=\"

60、什么情况下调用doGet()和doPost()?

Jsp页面中的form标签里的method属性为get时调用doGet(),为post时调用doPost()。 61、servlet的生命周期

web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。 62、如何实现servlet的单线程模式 <%@?page?isThreadSafe=\"false\"%> 63、页面间对象传递的方法

Cookie, request,session,application等

、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么??

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是\"类servlet\"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。JSP仅在修改后第一次被访问时,才会被转换成servlet?并进行编译。

65、四种会话跟踪技术

会话作用域ServletsJSP?页面描述

page是代表与一个页面相关的对象和属性。一个页面由一个编译好的?Java?servlet?类(可以带有任何的? include?指令,但是没有?include?动作)表示。这既包括?servlet?又包括被编译成?servlet?的?JSP?页面 request是代表与?Web?客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个? Web?组件(由于?forward?指令和?include?动作的关系)

session是代表与用于某个?Web?客户机的一个用户体验相关的对象和属性。一个?Web?会话可以也经常会跨??????越多个客户机请求 application是代表与整个?Web?应用程序相关的对象和属性。这实质上是跨越整个?Web?应用程序,包括多个?????页面、请求和会话的一个全局作用域

66、Request对象的主要方法:

setAttribute(String?name,Object):设置名字为name的request的参数值 getAttribute(String?name):返回由name指定的属性值

getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度

getHeader(String?name):获得HTTP协议定义的文件头信息

getHeaders(String?name):返回指定名字的request?Header的所有值,结果是一个枚举的实例 getHeaderNames():返回所以request?Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法

getParameter(String?name):获得客户端传送给服务器端的有name指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例 getParameterValues(String?name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字

getSession([Boolean?create]):返回和请求相关Session getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号

removeAttribute(String?name):删除请求中的一个属性 67、J2EE是技术还是平台还是框架?

J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。 ????J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。 68、getAttribute和getParameter的区别

1.getAttribute是取得jsp中?用setAttribute设定的attribute? 2.parameter得到的是string;attribute得到的是object?

69、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。

区别主要答两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型 b.逻辑操作不会产生短路

70、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式??

a:?两种形式?dtd??schema,b:?本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等?

????DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问

SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问?

????STAX:Streaming?API?for?XML?(StAX)

主要相同点:Lock能完成synchronized所实现的所有功能

主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而 Lock一定要求程序员手工释放,并且必须在finally从句中释放。 72、EJB的角色和三个对象

一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise?Bean?Provider)?、应用组合者(Application?Assembler)、部署者(Deployer)、EJB?服务器提供者(EJB?Server?Provider)、EJB?容器提供者(EJB?Container?Provider)、系统管理员(System?Administrator) 三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类 73、EJB容器提供的服务

主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。 74、EJB规范规定EJB中禁止的操作有哪些?

1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等), 2.不能操作awt 3.不能实现服务器功能 4.不能对静态属生存取

5.不能使用IO操作直接存取文件系统 6.不能加载本地库.

7.不能将this作为变量和返回 8.不能循环调用

75、remote接口和home接口主要作用

remote接口定义了业务方法,用于EJB客户端调用业务方法。 home接口是EJB工厂用于创建和移除查找EJB实例 76、bean?实例的生命周期

对于Stateless?Session?Bean、Entity?Bean、Message?Driven?Bean一般存在缓冲池管理,而对于Entity?Bean和

Statefull?Session?Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB?Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并内存中实例数量。 77、EJB的激活机制

以Stateful?Session?Bean?为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB?Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。 78、EJB的几种类型

会话(Session)Bean?,实体(Entity)Bean?消息驱动的(Message?Driven)Bean 会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种

实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种 79、客服端调用EJB对象的几个基本步骤

设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。

80、如何给weblogic指定大小的内存??

在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set?MEM_ARGS=-Xms32m?-Xmx200m,可以调整最小内存为32M,最大200M

81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者 commenv文件,增加set?PRODUCTION_MODE=true。 82、如何启动时不需输入用户名与密码?

修改服务启动文件,增加?WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.

83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入??又比如这其中用到了一个自己写的javaBean该如何办?

Domain目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。

85、在weblogic中发布ejb需涉及到哪些配置文件

不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml?

86、如何在weblogic中进行ssl?配置与客户端的认证配置或说说j2ee (标准)进行ssl?的配置

缺省安装中使用DemoIdentity.jks和DemoTrust.jks??KeyStore实现SSL,需要配置服务器使用Enable?SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust?keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。

87、如何查看在weblogic中已经发布的EJB?

可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB 88、CORBA是什么??用途是什么??

CORBA?标准是公共对象请求代理结构(Common?Object?Request?Broker?Architecture),由对象管理组

织?(Object?Management?Group,缩写为?OMG)标准化。它的组成是接口定义语言(IDL),?语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。?其目的为:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系统开发。 、说说你所熟悉或听说过的j2ee中的几种常用模式??及对设计模式的一些看法 Session?Facade?Pattern:使用SessionBean访问EntityBean Message?Facade?Pattern:实现异步调用

EJB?Command?Pattern:使用Command?JavaBeans取代SessionBean,实现轻量级访问 Data?Transfer?Object?Factory:通过DTO?Factory简化EntityBean数据提供特性 Generic?Attribute?Access:通过AttibuteAccess接口简化EntityBean数据提供特性 Business?Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性

EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。

90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。

91、Servlet执行时一般实现哪几个方法? public?void?init(ServletConfig?config) public?ServletConfig?getServletConfig()

public?String?getServletInfo()

public?void?service(ServletRequest?request,ServletResponse?response) public?void?destroy()

92、j2ee常用的设计模式?说明工厂模式。 Java中的23种设计模式:

Factory(工厂模式),?????????Builder(建造模式),?????????Factory?Method(工厂方法模式), Prototype(原始模型模式),Singleton(单例模式),??????Facade(门面模式), Adapter(适配器模式),??????Bridge(桥梁模式),??????????Composite(合成模式), Decorator(装饰模式??????????Flyweight(享元模式),???????Proxy(代理模式), Command(命令模式),???? ??Interpreter(解释器模式),? Visitor(访问者模式), Iterator(迭代子模式),??????Mediator(调停者模式?????????Memento(备忘录模式), Observer(观察者模式????????State(状态模式),?????????????Strategy(策略模式), Template?Method(模板方法模式),?Chain?Of?Responsibleity(责任链模式)

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。 93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。 94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码:

/?/使用快速排序方法对a[?0?:n-?1?]排序

从a[?0?:n-?1?]中选择一个元素作为m?i?d?d?l?e,该元素为支点

把余下的元素分割为两段left?和r?i?g?h?t,使得l?e?f?t中的元素都小于等于支点,而right?中的元素都大于等于支点 递归地使用快速排序方法对left?进行排序 递归地使用快速排序方法对right?进行排序 所得结果为l?e?f?t?+?m?i?d?d?l?e?+?r?i?g?h?t

95、请对以下在J2EE中常用的名词进行解释(或简单描述)

web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接表跟容器 中的环境变量接**互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT, WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB?APPLICATION?标 准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

EJB容器:Enterprise?java?bean?容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理能。??????只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的 接口来获得系统级别的服务。例如邮件服务、事务管理。

JNDI:(Java?Naming?&?Directory?Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,??????让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的能。

JMS:(Java?Message?Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

JTA:(Java?Transaction?API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接???????口即可。 JAF:(Java?Action?FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各 种部署和自定义实现自己的个性安全控制策略。

RMI/IIOP:(Remote?Method?Invocation?/internet对象请求中介协议)他们主要用于通过远程调用服务。例如,???????远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直

接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。

96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。

用try来指定一块预防所有\"异常\"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的\"异常\"的类型。 throw语句用来明确地抛出一个\"异常\"。

throws用来标明一个成员函数可能抛出的各种\"异常\"。 Finally为确保一段代码不管发生什么\"异常\"都被执行一段代码。

可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,\"异常\"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种\"异常\"进行处理,堆栈就会展开,直到遇到有处理这种\"异常\"的try语句。

97、一个\".java\"源文件中是否可以包括多个类(不是内部类)?有什么? 可以。必须只有一个类名与文件名相同。

98、MVC的各个部分都有那些技术来实现???如何实现??

MVC是Model-View-Controller的简写。\"Model\"?代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),?\"View\"?是应用的表示面(由JSP页面产生),\"Controller\"?是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

99、java中有几种方法可以实现一个线程??用什么关键字修饰同步方法?? stop()和suspend()方法为何不推荐使用? 有两种实现方法,分别是继承Thread类与实现Runnable接口 用synchronized关键字修饰同步方法

反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被\"挂起\"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标

志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

100、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

字节流,字符流。字节流继承于InputStream?OutputStream,字符流继承于InputStreamReader?OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。 101、java中会存在内存泄漏吗,请简单描述。

会。如:int?i,i2;??return?(i-i2);???//when?i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。 102、java中实现多态的机制是什么?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

103、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是\"可达的\",哪些对象是\"不可达的\"。当GC确定一些对象为\"不可达\"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。 104、静态变量和实例变量的区别? static?i?=?10;?//常量 ?class?A?a;??a.i?=10;//可变

105、什么是java序列化,如何实现java序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements?Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用

ObjectOutputStream对象的writeObject(Object?obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。 106、是否可以从一个static方法内部发出对非static方法的调用? 不可以,?如果其中包含对象的method();不能保证对象初始化. 107、写clone()方法时,通常都有一行代码,是什么?

Clone?有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。 108、在JAVA中,如何跳出当前的多重嵌套循环? 用break;?return?方法。

109、List、Map、Set三个接口,存取元素时,各有什么特点?

List?以特定次序来持有元素,可有重复元素。Set?无法拥有重复元素,内部排序。Map?保存key-value值,value可多值。 110、J2EE是什么?

J2EE是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型

(enterpriese?application?model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn?tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。 111、UML方面?

标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图。

112、说出一些常用的类,包,接口,请各举5个

常用的类:BufferedReader??BufferedWriter??FileReader??FileWirter??String??Integer 常用的包:java.lang??java.awt??java.io??java.util??java.sql 常用的接口:Remote??List??Map??Document??NodeList? 113、开发中都用到了那些设计模式?用在什么场合??

每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。

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

JSP共有以下6种基本动作?jsp:include:在页面被请求的时候引入一个文件。?jsp:useBean:寻找或者实例化一个

JavaBean。?jsp:setProperty:设置JavaBean的属性。?jsp:getProperty:输出某个JavaBean的属性。?jsp:forward:把请求转到一个新的页面。?jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。

115、Anonymous?Inner?Class?(匿名内部类)?是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?? 可以继承其他类或完成其他接口,在swing编程中常用此方式。 116、应用服务器与WEB?SERVER的区别? 应用服务器:Weblogic、Tomcat、Jboss WEB?SERVER:IIS、?Apache 117、BS与CS的联系与区别。

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或?SQL?Server。客户端需要安装专用的客户端软件。

B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape?Navigator或Internet?Explorer,服务器安装Oracle、Sybase、Informix或?SQL?Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web?Server?同数据库进行数据交互。 C/S?与?B/S?区别:? 1.硬件环境不同:?

C/S?一般建立在专用的网络上,?小范围里的网络环境,?局域网之间再通过专门服务器提供连接和数据交换服务.

B/S?建立在广域网之上的,?不必是专门的网络硬件环境,例与电话上网,?租用设备.?信息自己管理.?有比C/S更强的适应范围,?一般只要有操作系统和浏览器就行? 2.对安全要求不同?

C/S?一般面向相对固定的用户群,?对信息安全的控制能力很强.?一般高度机密的信息系统采用C/S?结构适宜.?可以通过B/S发布部分可公开信息.

B/S?建立在广域网之上,?对安全的控制能力相对弱,?可能面向不可知的用户。 3.对程序架构不同?

C/S?程序可以更加注重流程,?可以对权限多层次校验,?对系统运行速度可以较少考虑.

B/S?对安全以及访问速度的多重的考虑,?建立在需要更加优化的基础之上.?比C/S有更高的要求?B/S结构的程序架构是发展的趋势,?从MS的.Net系列的BizTalk?2000?Exchange?2000等,?全面支持网络的构件搭建的系统.?SUN?和IBM推的JavaBean?构件技术等,使?B/S更加成熟.?

4.软件重用不同?

C/S?程序可以不可避免的整体性考虑,?构件的重用性不如在B/S要求下的构件的重用性好.

B/S?对的多重结构,要求构件相对的功能.?能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子? 5.系统维护不同??

C/S?程序由于整体性,?必须整体考察,?处理出现的问题以及系统升级.?升级难.?可能是再做一个全新的系统

B/S?构件组成,方面构件个别的更换,实现系统的无缝升级.?系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.? 6.处理问题不同?

C/S?程序可以处理用户面固定,?并且在相同区域,?安全要求高需求,?与操作系统相关.?应该都是相同的系统 B/S?建立在广域网上,?面向不同的用户群,?分散地域,?这是C/S无法作到的.?与操作系统平台关系最小.? 7.用户接口不同?

C/S?多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

B/S?建立在浏览器上,?有更加丰富和生动的表现方式与用户交流.?并且大部分难度减低,减低开发成本.? 8.信息流不同?

C/S?程序一般是典型的集权的机械式处理,?交互性相对低

B/S?信息流向可变化,?B-B?B-C?B-G等信息、流向的变化,?更像交易中心。 118、LINUX下线程,GDI类的解释。

LINUX实现的就是基于核心轻量级进程的\"一对一\"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。?

GDI类为图像设备编程接口类库。

119、STRUTS的应用(?如STRUTS架构?)?

Struts是采用Java?Servlet/JavaServer?Pages技术,开发Web应用程序的开放源码的framework。?采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。? Struts有如下的主要功能:

?一.包含一个controller?servlet,能将用户的请求发送到相应的Action对象。?二.JSP自由tag库,并且在controller?servlet中提供关联支持,帮助开发员创建交互式表单应用。?三.提供了一系列实用对象:XML处理、通过Java?reflection?APIs自动处理JavaBeans属性、国际化的提示和消息。 120、Jdo是什么??

JDO是Java对象持久化的新的规范,为java?data?object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC?API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS);JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。 121、内部类可以引用他包含类的成员吗?有没有什么? 一个内部类对象可以访问创建它的外部类对象的内容

122、WEB?SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

Web?ServiceWeb?Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web?Service能与其他兼容的组件进行互操作。

JAXP(Java?API?for?XML?Parsing)?定义了在Java中使用DOM,?SAX,?XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。

JAXM(Java?API?for?XML?Messaging)?是为SOAP通信提供访问方法和传输机制的API。

WSDL是一种?XML?格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。 SOAP即简单对象访问协议(Simple?Object?Access?Protocol),它是用于交换XML编码信息的轻量级协议。?

UDDI?的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web?Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web?Service注册,以使别的企业能够发现的访问协议的实现标准。 123、EJB的角色和三个对象?

??EJB角色主要包括Bean开发者?应用组装者??部署者??系统管理员??EJB容器提供者??EJB服务器提供者? ??三个对象是Remote(Local)接口、Home(LocalHome)接口、?Bean类 124、作用域public,private,protected,以及不写时的区别? 答:区别如下:?

作用域?当前类?同一package?子孙类?其他package? public????√ √ √ √? protected??√ √ √ ×? friendly???√ √ × ×? private????√ × × ×? 不写时默认为friendly

125.struts中的actionform有什么好处?

???struts的actionform其实不好,里面有一堆属性,虽然可以自动填充,但是你会发现,在很多情况下(比如你用到Hibernate)

?? struts1.1版本,保留了actionform,struts1.2中已经有了新的LazyValidatorForm,但仍然保留了原有的actionform,???而在struts 2.0中已经把actionform去掉了 ???下面是解决方法

???????这样你就不需要在里面写一堆的get,set方法,只是在页面上绑定稍有不同

???????相应配置,当然也可以加上验证框架

???警告:这个问题是陷阱,实际上struts的actionform很不好,非常麻烦,用久了你会发现他其实是多余的,所以这个问题你应该说他的坏处, 126.通常所说的web应用程序分3层,即MVC,如果我想分四层,应该怎么分? ????加一个Hibernate数据持久层??

1、?简述你对IoC的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。

??IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。

2、Spring提倡面向接口编程,请讲一下你对它的理解,它有什么好处。

????在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个对象内部是如何实现自己的对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,这也是系统设计的主要工作内容。

3、Spring的Bean有哪些作用域。

???singleton、prototype、request、session、global session、自定义

4、简单描述Spring Framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么?

???Spring是完整的一站式框架,而Struts仅是MVC框架,且着重于MVC中的C。Spring有三种方式整合Struts:使用?Spring?的?ActionSupport?类整合?Struts;使用?Spring?的?DelegatingRequestProcessor?覆盖?Struts?的?RequestProcessor;将?Struts Action?管理委托给?Spring?框架,动作委托最好。

5、Rails中大量使用Convention over Configuration的思想,SpringMVC在2.0后也引入了CoC,请简单描述一下SpringMVC的CoC。

???控制器Bean以Controller结尾可直接映射为地址,模型ModelAndView可以不用指定键名,可根据URL自动取得视图名。

6、Hibernate中的update()和saveOrUpdate()的区别,session的load()和get()的区别。 saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下: 如果对象在该session中已经被持久化,不进行操作;

对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它; 如果session中的另一个对象有相同的标识符抛出一个异常; 以上皆不符合则调用update()更新之。

Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException; load方法可返回实体的代理类实例,而get方法永远直接返回实体类;

load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。

7、Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。

???在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。

8、简述Spring的事务传播行为和隔离级别。 传播行为分为六种:

PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。? PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。? PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。? PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。?

PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。? PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。 隔离级别:

ISOLATION_DEFAULT?这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别.另外四个与JDBC的隔离级别相对应

ISOLATION_READ_UNCOMMITTED?这是事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻像读。?

ISOLATION_READ_COMMITTED?保证一个事务修改的数据提交后才能被另外一个事务读取。另外一个事务不能读取该事务未提交的数据。这种事务隔离级别可以避免脏读出现,但是可能会出现不可重复读和幻像读。?

ISOLATION_REPEATABLE_READ?这种事务隔离级别可以防止脏读,不可重复读。但是可能出现幻像读。它除了保证一个事务不能读取另一个事务未提交的数据外,还保证了避免下面的情况产生(不可重复读)。?

ISOLATION_SERIALIZABLE?这是花费最高代价但是最可靠的事务隔离级别。事务被处理为顺序执行。除了防止脏读,不可重复读外,还避免了幻像读

Action是不是线程安全的?如果不是?有什么方式可以保证Action的线程安全?

不是线程安全的。只要不申明类变量就可以保证线程安全。因为只存在一个Action类实例,所有线程会共享类变量。 Hibernate有哪几种查询数据的方式 HQL,QBC,SQL Struts的工作原理?

???????在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,?ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此?FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.do均有对应的?FormBean名称和ActionBean名称,这些在Struts-config.xml中配置

数据库方面:

1.???????存储过程和函数的区别

存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。? 2.??事务是什么?

事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为?ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:? 原子性?

事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。? 一致性?

事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如?B?树索引或双向链表)都必须是正确的。? 隔离性?

由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。? 持久性?

事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。?

3.??游标的作用?如何知道游标已经到了最后?

游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。 4.??触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。?

事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。? 语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务