武汉理工大学中间件及软件组件2015-2016复习资料
2021武汉理工软件设计与体系结构复习(仅供参考)

2021武汉理工软件设计与体系结构复习(仅供参考) 2021武汉理工软件设计与体系结构复习(仅供参考) 软件1 简答题什么是防止变异模式?是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。
解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定接口。
2.什么是依赖反转原理?把你的类从具体的实现中隔离开,使它们依赖于抽象类或接口。
它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。
3.仓库风格的组件和连接器是什么?组件:(1)一个能表示出系统的正确状态的数据结构(2)操作主要数据结构的独立组件的集合。
连接器:典型的过程调用或是直接内存访问。
什么是响应时间?measure of the latency an application exhibits in processing a request对一个应用程序在处理请求显示出的潜在因素的测量标准。
常用的中间件有那几种类型?CORBA (Common Object Request Broker Architecture)Message-oriented middlewareJ2EEMessage brokersBusiness process orchestrators(1)常见的对象请求代理架构(2)面向消息的中间件(3) Java2 Enterprise Edition(Java2的企业版)(4)消息代理(5)业务过程代理管道过滤器风格?在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。
因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入架构师需要的核心技能是什么?Many responsibilities:Liaison with stakeholdersTechnology knowledgeSoftware engineeringRisk managements(1)涉众之间的交流(2)技术知识。
武汉理工大学计算机网络期末复习资料

1.现代网络管理系统是由以下4种要素组成:网络管理者、管理代理、网络管理协议、管理信息库;2.目前最有影响的网络管理协议是简单网络管理协议(SNMP)、公共管理信息服务和公共管理信息协议(CMIS/CMIP)3.SNMP和CMIS/CMIP分别基于TCP/IP和OSI。
4.集成式网络管理模式的局限性有不可扩展性、功能固定,不灵活、不可靠性、传输中的瓶颈。
5.分布式网络管理模式的特点:自适应基于策略的管理、分布式的设备查找与监视、智能过滤、分布式阀值监视、轮询引擎、分布式管理任务引擎。
6.网络管理软件包括用户接口软件、管理专用软件、管理支持软件。
7.管理支持软件包括MIB访问模块和通信协议栈。
8.网络管理的功能有故障管理、配置管理、安全管理、性能管理和计费管理。
9.标签的类型分为通用标签、应用标签、上下文专用标签、私有标签。
10.通用标签类是ASN.1标准定义的,除了CHOICE和ANY类型之外,所有的简单类型和结构类型都具有统一分配的唯一标签。
11.SYNTAX:表示对象类型的抽象语法,可以是ASN.1的类型之一。
ObjectSyntax::=CHOICE{simple ,SimpleSyntax;application-wide,ApplicationSyntax}SimpleSyntax是指5种通用类型,而ApplicationSyntax是指6种应用类型。
11.TYPE NOTATION包含7个子句,其中ACCESS、SYNTAX、和STATUS是必选的;12. ACCESS:定义SNMP访问对象的方式。
可选择的访问方式有只读(read-only)、读写(read-write)、只写(write-only)和不可访问(not-accessible)4种。
任何实现必须支持宏定义实例中定义的访问方式,还可以增加其他访问方式,但不能减少。
13.STATUS:说明实现是否支持这种对象。
状态子句中定义了必要的(mandatory)和任选的(optional)两种支持程度。
软件集成与中间件技术考核试卷

B. UDDI
C. SOAP
D. REST
9.企业服务总线(ESB)能够提供哪些功能?()
A.消息路由
B.服务中介
C.数据转换
D.业务流程管理
10.以下哪些是集成测试的类型?()
A.单元测试
B.集成测试
C.系统测试
D.接口测试
11.中间件技术对于软件开发的重要性体现在哪些方面?()
A.提高开发效率
6.集成测试是在单元测试之后进行的。(√)
7.适配器模式主要用于解决接口不兼容的问题。(√)
8.数据集成不需要考虑数据的一致性和质量。(×)
9.服务编排可以在开发阶段完全确定,不需要考虑运行时的变化。(×)
10.分布式系统中的所有组件都必须使用相同的编程语言。(×)
五、主观题(本题共4小题,每题5分,共20分)
D.中间件对应用开发者通常是透明的
6.在软件集成中,以下哪种方式通常被认为是低耦合度的方式?()
A.紧耦合
B.松耦合
C.中耦合
D.非耦合
7.以下哪个不是企业服务总线(ESB)的主要功能?()
A.集成异构系统
B.提供消息路由
C.数据格式转换
D.直接参与业务逻辑处理
8.关于SOA(面向服务的架构),以下哪个描述是正确的?()
6.在软件集成中,________测试是验证不同组件或系统之间接口正确性的测试。
7.适配器模式是一种设计模式,它允许________的接口与其他接口进行交互。
8.数据集成是指将________的数据合并到一个统一的视图中。
9.服务编排是指设计服务之间的________流程,以便它们能够协同工作。
10.在分布式系统中,________是确保不同系统之间能够相互理解和通信的协议。
2015-2016学年一学期软件设计与体系结构期中考试试卷

安徽师范大学 2015-2016 学年 第一学期数学计算机科学学院软件工程专业2013级《软件设计与体系结构》课程期中考试试卷(180分钟 闭卷)注意:请保持字迹工整 一、单选题(10小题,每小题2分,共20分)1、下面哪种开发方法是非传统方法( ) A 、功能分解法 B 、结构化方法 C 、面向对象方法 D 、信息建模方法2、下面那一项不属于用况图中的参与者( ) A 、人员 B 、内部系统 C 、外部系统 D 、设备3、对象间的is-a 关系可以用以下哪一个来表示( ) A 、组合 B 、聚合 C 、关联 D 、继承4、只与你的直接朋友通信描述的哪一个设计原则( ) A 、单一职责原则 B 、开闭原则 C 、接口隔离原则 D 、迪米特法则5、一个软件实体应该对扩展开放,对修改关闭。
这描述的是哪个原则( ) A 、单一职责原则 B 、开闭原则 C 、依赖倒置原则 D 、里氏代换原则6、常用的基本设计模式可分为( ) A 、创建型、结构型和行为型 B 、对象型、结构型和行为型 C 、过程型、结构型和行为型 D 、抽象型、接口型和实现型7、对于类图,下列叙述正确的是( )A 、创建类图是为了对系统的动态结构进行建模B 、在系统分析和实施阶段可以创建和使用类图C 、每个类图都应该具有泛化关系D 、以上说法都不对8、类与类之间存在相互关系,下面哪一种关系与其他三种不同( ) A 、双向关联 B 、聚合关系 C 、组合关系 D 、依赖关系9、Open-Close原则的含义是一个软件实体( ) A 、应当对扩展开放,对修改关闭. B 、应当对修改开放,对扩展关闭 C 、应当对继承开放,对修改关闭 D 、应当对继承关闭,对修改开放10、当需要对系统功能以及与系统进行交互的外部事物进行建模时,我们一般采用( ) A 、用况图 B 、类图 C 、活动图 D 、顺序图 二、简答题(4小题,每小题5分,共50分)1、OOA 中问题域和系统责任的含义分别是什么意思?2、OOD 模型中总共包含几个部分,分别是哪几个部分,哪个部分是核心部分?第 3 页共8 页第4 页共8 页3、面向对象方法有哪些优点?4、人机交互部分的设计准则有哪些?5、在采用面向对象的方法进行分析设计时,如何识别对象和类?6、请分别画出组合和聚合的符号,并说明两者的关系与区别。
武汉理工大学计算机系统结构考试材料

一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的执行时间均为t ∆,流水线的输出端与输入端之间有直接数据通路,且设置有足够的缓冲寄存器。
试用尽可能短的时间计算∑=⨯=61)(i i i b a F ,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。
解 为了减少流水线中发生先写后读相关的次数,使流水线完成计算的时间尽可能短,采用下述算法计算F :)))665544332211(((b a b a b a b a b a b a F ⨯+⨯+⨯+⨯+⨯+⨯=按先乘后加、先括号内后括号外的优先次序,上述计算F 的过程需要先做6次乘法,用1~6表示;再做3个括号内的3次加法,用7~9表示;最后做括号外的2次加法,用10~11表示。
流水线时空图如图所示。
S S S S S S t (Δt )由时空图可得实际吞吐率、加速比和效率分别为t t TP ∆=∆=/5.0221122245460=∆∆⨯+∆⨯==t t t T T S k33.0226114≈∆⨯∆⨯=tt E假设每种向量指令都有自己的一条流水线完成该向量指令的流水处理,下面一组向量指令能分成几个编队?LV V1,RX;取向量XMULTSV V2,F0,V1 ;向量和标量相乘 LV V3,RY ;取向量Y ADDV V4,V2,V3 ;向量加 SVRY ,V4;存结果向量解 第一条指令LV 为第一编队,MULTSV 指令因与第一条LV 指令相关,所以它们不能在同一个编队中。
MULTSV 指令和第二条LV 指令之间不存在功能部件冲突和数据相关,所以这两条指令为第二编队。
ADDV 指令与第二条LV 指令数据相关,所以ADDV 为第三编队。
SV 指令与ADDV 指令数据相关,所以SV 为第四编队。
因此,这一组向量指令分为以下4个编队① LV② MULTSV LV③ ADDV ④ SV某模型机有9条指令,其使用频度分别为 ADD :30% SUB :24% LOD :6% STO :7% JMP :7%SHR :2%ROL :3%MOV :20%STP :1%要求有2种指令字长,且都是二地址指令。
中间件总复习题及答案

中间件总复习题第一章中间件产生的背景1、C/S结构与B/S结构各有何特点?⑴系统的性能在系统的性能方面,B/S占有优势的是其灵活性。
任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
近年来,智能手机、智能家电、PDA等传统电脑之外的上网方式发展迅速,这在一定程度上为B/S结构增加了砝码。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。
采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。
而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其他格式文件多半是以附件的形式存放。
而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
⑵系统的开发最新的C/S结构和B/S结构都是建立在现在被称为中间件的产品基础之上,也就是建立在应用服务器(Web服务器)中间件、消息中间件和交易中间件等基础之上。
采用C/S结构时,客户端和服务器端都要处理任务,客户端也需要编程,这对应用开发者提出了较高的要求,这使得应用程序的维护、移植和互操作变得复杂,成了C/S的一大缺陷。
如果客户端是在不同的操作系统上(比如Windows 2000/2003 Server以及不同版本的Linux),C/S结构的软件需要开发不同版本的客户端软件。
如果产品经常需要更新换代,那么升级系统时候需要付出的高代价以及工作的低效率会在一定程度上制约企业的应用。
但是,与B/S结构相比,C/S技术发展历史更为“悠久”。
从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。
而对于非常复杂的应用,B/S方式目前尚没有合适方式进行开发。
⑶系统的升级维护C/S系统的各部分模块中有一部分改变,就要关联到其他模块的变动,使系统升级成本比较大。
B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。
武汉理工大学rfid复习题

武汉理工大学rfid复习题一、填空题1.Rfid系统中常用的防碰撞算法是ALOHA算法、二进制树形搜索算法。
2.ISO/IEC制定的RFID标准可分为技术标准、数据内容标准、性能标准和应用标准。
3.ISO、IEC14443标准TYPE A型中PCD向PICC通信,载波频率为13.56MHZ,采用数据的修正密勒码的100% ASK调制;PICC向PCD通信采用数据的曼特斯特编码的副载波调制信号进行负载调制。
4.IOS/IEC15693 数据编码采用两种PPM 方式分别是256中取1、4中取1。
5.ISO/IEC18000-6 TYPE A模式阅读器向应答器数据传输的数据编码采用脉冲间隔(PIE)编码。
反向数据传输采用FMO编码。
6.U2270B是工作于125K HZ 的阅读器芯片;该频率下采用的应答器芯片是e5551.7.传感器狭义的定义为:能把外界非电量信息转化成电信号输出的器件。
8.表征传感器静态特征的四个指标是线性度、灵敏度、迟滞和重复性。
9.传感器输出的两类信号分别是数字信号和模拟信号。
10.右图为带通滤波器,则其上线截止频率为f H为1/2ΠR2C2,下线截止频率为fL为1/2Πr1c1,通带放大倍数为AP,为R2/R1.11.RFID的天线制作工艺主要有线圈绕制法、蚀刻法、印刷法。
12.电感式传感器可以分为自感式、互感式和涡流式三种传感器。
13.射频识别的英文全称是radio frequency identification。
14.根据射频耦合方式的不同,RFID可以分为电感耦合方式(磁耦合)、反向散射耦合方式(电磁场耦合)两大类。
15.针对RFID主要的安全攻击方式可以分为主动攻击和被动攻击,应对前者的重要技术是认证技术、应对后者的主要技术手段是加密。
16.串联谐振回路的谐振角频率为1/sqrt(LC),并联谐振回路的谐振频率为1/(2πsqrt(LC))。
17.在电感耦合方式的RFID系统中,负载调制有电阻负载调制和电容负载调制两种方法,他们的主要区别是:前者负载接入时电路仍然处于谐振状态;后者在接入电路时,电路状态发生变化,此时阅读器电感线圈的电压不仅有幅值变化,也存在相位的变化。
《软件构件与中间件技术》全真试题

学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《软件构件与中间件技术》全真试题(开卷90分钟)题号一二总分题分31 69得分一.多项选择题(共12小题,31分。
按照要求的选项个数选择)1. 在3层结构的分布式系统中,()包含了系统的核心业务逻辑。
(选1,2分)(A)客户层(B)中间层(C)数据层(D)以上都不是2. 典型的集成中间件为开发人员提供的三种基本支撑为:(选3,3分)()(A)提供构件运行环境(B)提供互操作机制(C)提供公共服务(D)提供数据库管理3. 构件通过封装隐藏其实现细节,构件接口是构件对外公布的唯一信息,使用者只能通过接口了解并使用组件。
CORBA对象的接口是用()定义的,EJB构件的接口是用()定义的,Web Service的接口是用()定义的。
(各选1,3分)(A)WSDL (B)Java interface (C)自然语言(D)OMG IDL4. 在支持分布式对象访问的桩/框架(Stub/Skeleton)结构中,负责替客户端完成底层通信相关工作的是(),负责替服务端完成底层通信相关工作的是()。
(各选1,2分)(A)客户端桩(Stub)(B)构件的接口(C)服务端框架(Skeleton)(D)分布式对象自身5. 在下图所示的OMA参考模型中,哪些涵盖了我们开发一个基于CORBA的应用时可以直接使用、不需自己实现的功能:(选3,3分)()(A)对象服务(B)领域接口(C)公共设施(D)应用程序接口6. CORBA IDL文件中可以定义模块、类型、常量、异常、接口、值等6种规格说明,其中IDL文件的核心内容是:(选1,2分)()(A)类型(B)常量(C)接口(D)值7. CORBA规范可以实现的可互操作性包括:(选3,3分)()(B)不同平台(如不同操作系统)与语言之间的可互操作性(C)不同厂商ORB产品之间的可互操作性(D)不同体系结构中的组件的互操作性(部分支持)(E)不同CORBA规范版本之间的可互操作性8.下面关于EJB的会话构件(Session Bean)的描述正确的有:(选2,2分)()a)Session Bean存在于客户应用与应用服务器交互的时间段内,Session bean中的数据不保存在数据库中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《中间件及软件组件》复习题任课老师:祁明龙时间:第一周——第八周2012-4-81.什么Remote Method Invocation?2.什么是POJO?3.什么是EJB?4.什么是Stateless Session Bean?5.什么是Stateful Session Bean?与SLSF的区别是什么?6.什么是EJB容器?试举出两个以上的产品。
7.什么是WEB容器?试举出两个以上的产品。
8.什么是JDBC API?它的标吧是什么?试举出三个以上的类。
9.JDBC-ODBC桥的数据源URL的格式是什么?10.试说明MySql URL jdbc:mysql://localhost:3306/students每部分的含义。
11.一个Java接口要转变成RMI接口,需要继承什么接口?捕获什么异常?12.一个Java Bean要能“序列化”,需要实现什么接口?13.一个java.sql.ResultSet对象能序列化吗?14.一个java.util.ArrayList对象能序列化吗?15.一个java.util.ArrayList对象和java.util.List使用方法的差别是什么?16.什么是JNDI?17.jdk1.x的RMI JNDI 命名目录服务器是什么?18.RMI/IIOP命名目录服务器是什么?19.Java CORBA命名目录服务器是什么?20.Jboss是什么服务器?带WEB服务器吗?带JNDI服务器吗?21.GlassFish是什么服务器?带WEB服务器吗?带JNDI服务器吗?22.什么CORBA?23.什么IIOP?24.什么是Stub, Skelton,他们的作用是什么?25.什么是CORBA的POA? 作用是什么?26.什么是IDL?27.在jdk1.x(x>5)把一个IDL文件映射成Java目标代码的编译器及其主要选项是什么?28.什么是中间件?试举出若干重要的技术?29.DCOM是中间件技术吗?30.Microsoft Dot Net Framework是中间件技术吗?31.什么是企业信息处理的异构性?32.什么是Java Annotation?33.EJB2.0与EJB3.0的区别是什么?34.什么是一个EJB 部署描述符?是个符号吗?35.标注@Stateless是做什么用的?36.对于GlassFish EJB Container来说,标注@Stateless(mappedName=”ejb/StudentBean”)属性值mappedName指的是什么?37.标注@PersistenceContext(unitName=”MyEJBApp-ejbPU”) 属性值unitName指的是什么?38.什么是JPA, Java Persistence API 或Java Persistence Architecture?39.什么是JPA QL?40.标注@Id是做什么用的?41.标注@Entity 是做什么用的?42.标注@Column是做什么用的?43.试举出标注@Column若干重要的属性。
44.javax.persistence.EntityManager接口的“妙用”?45.什么是EJB3.0的Injection Mechanism及注入机制?46.标注@NamedQueries({@NamedQuery(name=”Student.findAll”,query=”selects from student s”), @NamedQuery(name=”Student.findById”,query=”select s from student where s.id = :id”)})出现在什么类型的Bean?含义是什么?47.什么是一个Remote Method?48.Query query = em.createNamedQuery(“Student.findAll”); Query标准类所在的包是什么?em是什么类的一个实例?49.接48小题,return query.getResultList();返回是什么类型?50.Student aStudent = new Student(); em.persist(aStudent); aStudent是一个POJO还是一个EB? em.persist(aStudent);的实际效应是什么?51.String id; Student aStudentRecord = em.find(id);使用JPA QL,编写一个替代Student aStudentRecord = em.find(id);语句的代码段。
52.一个IDL文件有三级模块嵌套module mia { module ham { module football{……}…..}……}试问编译成Java目标代码后,最内层的某个接口所在的包是什么?53.在一个以IDL定义的接口文件中有一个接口方法其原型是(Signature):voidcomputeRoots(in float a, in float b, in float c, out float x1, out float x2, out boolean hasRealRoots);试说明各个形参中修饰符in和out的含义;如果这是一个计算解一元二次方程根的Remote Method,按惯例试说明各个形参的含义及读写方式。
54.假定使用GlassFish作为EJB容器,那么在客户端应该使用来自EJB容器的那几个jar文件?55.假定使用GlassFish作为EJB容器,那么在客户端除了使用来自EJB容器的四个jar文件外,还需要第五个jar文件,这第五个jar文件什么?56.假定在客户端调用一个远程Session Bean,其所在的包是mia.ham.football.*;那么你认为一个以下列代码开始的客户端错在哪儿?package ejbtest;import javax.naming.*; import java.util.*; import middleware.course.*;public class Client {……}57.配置jdk1.6的classpath = .; %JA V A_HOME%/lib/tools.jar;其中那个点代表什么意思?58.简单描述通过JDBC-ODBC桥在一个Java应用中连接到一个Exel电子表格,共有几层软件层?59.如何配置ODBC数据源?60.通过JDBC-ODBC桥在一个Java应用中连接到一个Exel电子表格,数据库是指什么?一个数据库表单又是什么?61.假定我们配置了一个连接到一个Exel电子表格的名为rmiiiop_ds,那么在Java应用中对应的URL格式是什么?62.假定我们的工作目录是%WORK_DIR%,在一个MS DOS命令行窗口,执行命令cd %WORK_DIR%从而切换到工作目录下。
假定,在工作目录下有一个包mia.ham.footbool,在此包之下有一个Java应用,名为Client.java。
如何用javac编译它?又如何用java执行解释Client.class?63.EJB分几种?她们的意义是什么?64.在EJB3.0模型下,业务逻辑由什么类型的EJB承担?Data Layer又由什么类型的EJB?65.开发一个EJB服务器端的应用步骤是什么?66.下图是选课学生前几位名单截图,创建一个与之对应的数据库表单的SQL语句是什么?假定ID是主键。
按学号查询的JPA QL语句是什么?67.68.基于RMI/IIOP创建一个查询以上Exel电子表格的分布式计算的步骤是什么?接口,辅助类,服务器端以及客户端的编码?打包部署方法是什么?如何测试?69.同68,但是基于Java CORBA.70.同68,但是基于J2EE EJB3.0,假定使用的EJB Container 是GlassFish.71.编写一个Java应用程序,把以上Exel电子表格“腾到”MySql RDBMS的students数据库下一个名为student的表单里。
要求:首先使用JDBC-ODBC 桥把以上Exel电子表格读取并保存到一个java.util.ArrayList对象里,其次使用MySQL JDBC 4th Driver把保存到一个java.util.ArrayList对象里的每条记录插到student表单里。
要求极其熟练的编写此类应用。
72.标注@Table(name=”Student”)极其属性值在EJB3.0中含义是什么?73.Java Annotation和Java comment的异同?74.在Java annotation 中,什么是元标注(meta annotation)?75.76.在以上截图中,说明为java程序解释器设置的每一个属性的含义。
这是一个EJB应用客户端。
假定EJB部署在IP地址为192.168.0.29的一台装有EJB Container例如GlassFish的物理主机上,且客户端运行在另一台物理主机上,那么以上代码中何处应该修改?77.78.以上截图中是一个EJB应用客户端代码片段。
试说明,”ejb/StudentBean”的含义。
StudentRemote是一个远程接口还是一个Session Bean?79.80.以上是一个实体Bean的头部部分代码截图,由NetBeanIDE 6.5自动生成。
试解释每一个Java Annotation.81.82.以上是一个实体Bean的头部部分代码,由NetBeanIDE 6.5自动生成。
试解释每一个Java Annotation.83.对于66小题Exel电子表格,使用IDL定义一个能够表示每个选课学生信息的结构体,一个能够存放表格数据的IDL类型,和类似与select * from student SQL语句的某个IDL接口方法。
84.85.以上截图中的IDL代码能满足83小题的需要吗?为什么?86.什么是ORB即Object Request Brocker?87.什么是CORBA 的IOR即Interoperable Object Reference ?作用是什么?88.什么是CORBA的A Naming Context?作用是什么?89.90.根据71小题在MySql students数据库中生成的表单student,创建一个基于Stateless Session Bean和Entity Bean的数据库应用,进行各种命名查询。
假定我们使用的开发工具是NetBeanIDE 6.5+GlassFish V2+MySql 4.2,那么Entity Bean 的Java代码是:Student.javapackage course.eb;import java.io.Serializable;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import dQueries;import dQuery;import javax.persistence.Table;@Entity@Table(name = "student")@NamedQueries({@NamedQuery(name = "Student.findAll",query = "SELECT s FROM Student s"),@NamedQuery(name = "Student.findById",query = "SELECT s FROM Student s WHERE s.id = :id"),@NamedQuery(name = "Student.findByName",query = "SELECT s FROM Student s WHERE = :name"), @NamedQuery(name = "Student.findByMajor",query = "SELECT s FROM Student s WHERE s.major = :major"), @NamedQuery(name = "Student.findByClass1",query = "SELECT s FROM Student s WHERE s.class1 = :class1") })public class Student implements Serializable {private static final long serialVersionUID = 1L;@Id@Basic(optional = false)@Column(name = "ID")private String id;@Basic(optional = false)@Column(name = "NAME")private String name;@Basic(optional = false)@Column(name = "MAJOR")private String major;@Basic(optional = false)@Column(name = "CLASS")private String class1;public Student() {}public Student(String id) {this.id = id;}public Student(String id, String name,String major, String class1) {this.id = id; = name;this.major = major;this.class1 = class1;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getMajor() {return major;}public void setMajor(String major) {this.major = major;}public String getClass1() {return class1;}public void setClass1(String class1) {this.class1 = class1;}}无状态会话Bean: StudentSLSBBean.java代码:package course.eb;import javax.ejb.Stateless;import java.util.List;import javax.persistence.PersistenceContext;import javax.persistence.EntityManager;import javax.persistence.Query;@Stateless(mappedName="ejb/StudentSLSBBean")public class StudentSLSBBeanimplements StudentSLSBRemote {@PersistenceContext(unitName="MyEJBApp02-ejbPU")private EntityManager em;public List<Student> findAllStudents() {Query query = em.createNamedQuery("Student.findAll");return query.getResultList();}public Student findStudentByID(String id) {Query query = em.createNamedQuery("Student.findById");query.setParameter("id",id);return (Student)query.getSingleResult();}public Student findStudentByName(String name) {Query query = em.createNamedQuery("Student.findByName");query.setParameter("name",name);return (Student)query.getSingleResult();}public List<Student> findStudentsByMajor(String major) {Query query = em.createNamedQuery("Student.findByMajor");query.setParameter("major",major);return query.getResultList();}public List<Student> findStudentsByClass(String class1) {Query query = em.createNamedQuery("Student.findByClass1");query.setParameter("class1",class1);return query.getResultList();}}接口::StudentSLSBRemote.java:对应的Remote接口package course.eb;import javax.ejb.Remote;import java.util.List;@Remotepublic interface StudentSLSBRemote {List<Student> findAllStudents();Student findStudentByID(String id);Student findStudentByName(String name);List<Student> findStudentsByMajor(String major);List<Student> findStudentsByClass(String class1);}91.假定在students数据库种有另一个数据库表单Emails(Name varchar(50) notnull primary key, Email varchar(50) not null),仿照第90题,手写出Entity Bean,Stateless Session Bean和对应的接口。