ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:42.14KB ,
资源ID:7120985      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7120985.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java组件.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java组件.docx

1、Java组件1. (问答) J2EE 层次和组件(1)这四层分别是:运行在客户端机器上的客户端层(Client Tier)、 运行在Web服务器上的Web层(Web Tier)、 运行在EJB服务器上的业务层(Business Tier)和 运行在EIS服务器上企业信息系统层(Enterprise Information System Tier)其中Web层和业务层共同组成了三层J2EE应用的中间层,其他两层是客户端层和存储层或企业信息系统层。(2)J2EE平台规范也定义了相应层的组件:I.客户端层组件应用客户端程序和浏览器是客户端层组件。客户端层组件可以作为Web服务器的浏览器,也可以独立的

2、应用程序,可以完成瘦客户机无法完成的任务。II.Web层组件Java Servlet和JavaServer Pages(JSP)是Web层组件。Web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的Enterprise Bean 来进行处理。III. 业务层组件Enterprise JavaBeans(EJB)是业务层组件。业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的EJB 进行处理。 IV. 企业信息系统层组件处理企业信息系统软件包括企业基础建设 系统, 大型机事务处理, 数据库系统,和其它的遗留信息系统组成了企业信息系

3、统层。2. (选择、问答)三种企业级的Bean(1)会话(Session)Beans:表示与客户端程序的临时交互. 当客户端程序执行完后, 会话bean 和相关数据就会消失.(2)实体(Entity) Beans:表示数据库的表中一行永久的记录. 当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存.(3)消息驱动(Message-driven) Beans:结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息.3. (问答) J2EE的组件/容器技术及 EJB构件模型的特点。EJB:Enterprise JavaBeans

4、企业JavaBean组件 JMS:Java Message Service Java消息服务 JNDI:Java Naming and Directory Interface Java命名目录接口 JDBC:数据库访问API RMI:Remote Method Invocation 远程方法调用 JTA:Java Transaction API Java事务API JTS:Java Transaction Service Java事务服务 Object Serialization:对象序列化 EJB分为三种: Session Bean(会话BEAN) Entity Bean(实体BEAN) M

5、essage Driver Bean(消息驱动BEAN) Session Bean分为两种: Stateless Session Bean(无状态会话Bean) Statefull Session Bean(有状态会话Bean) Entity Bean分为两种: CMP:Container Manager Persistence(容器管理持久性) BMP:Bean Manager Persistence(Bean管理持久性) (2)可重用的构件 可伸缩性 资源治理 事务支持 并发性治理 安全性治理4. (问答) EJB 结构中的6种角色 。EJB组件开发者(Enterprise Bean Pr

6、ovider) 、应用组合者(Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)5. (编程)JNDI含义、JNDI对象绑定、重新绑定、删除JNDI对象绑定和查找JNDI对象的核心语句。含义:JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。JNDI对象绑定:string test=

7、”welcome”; ctx.bind(“name”,test);重新绑定:string str=”welcome”;ctx.bind(“name”,test);删除JNDI对象绑定:ctx.unbind(“name”,test)查找JNDI对象:string s=(string)ctx.lookup(“name”)6. (问答、选择) Java RMI的含义及系统目标。Java RMI:是一种基于Java的分布式编程模型,为Java程序提供远程访问服务接口。目标:简单方便,可以传递复杂java对象,简化了在多台计算机上的JAVA应用之间的通信。7. (编程) RMI的开发步骤及核心代码(1)

8、定义远程接口import java.rmi.Remote; import java.rmi.RemoteException; public interface I_Hello extends java.rmi.Remote /需要从Remote继承 public String SayHello() throws RemoteException; /需要抛出remote异常 (2)编写一个实现该接口的类import java.io.PrintStream; import java.rmi.*; import java.rmi.server.UnicastRemoteObject; public

9、class Hello extends UnicastRemoteObject/必须从UnicastRemoteObject 继承 implements I_Hello public Hello() throws RemoteException/抛出Remote异常的默认初始化方法 public String SayHello()/这个是实现I_Hello接口的方法 return Hello world !; (3)编写在服务器上运行的主程序import java.rmi.*; public class RMI_Server public static void main(String arg

10、s) try Hello hello = new Hello();/实例化要发布的类 Naming.rebind(RMI_Hello, hello);/绑定RMI名进行发布 System.out.println(= Hello server Ready = ); catch(Exception exception) exception.printStackTrace(); (4)将远程对象注册到 RMI 名称注册表(5)编写客户端程序import java.rmi.*; public class RMI_Client public static void main(String args) t

11、ryI_Hello hello = (I_Hello) Naming.lookup(RMI_Hello);/通过RMI名称查找远程对象 System.out.println(hello.SayHello();/调用远程对象的方法catch (Exception e) e.printStackTrace(); (6)启动rmiRegistry并运行自己的远程服务器和客户程序8. (问答、选择)什么是事务,事务有哪些特性,JTA为事务处理提供了哪些支持。事务:表示一个由一系列的相关操作组成的不可分割的逻辑单位。特征:原子性:组成事物的操作要么是成功执行,要么是不执行。一致性:在操作过程中不会破坏数

12、据的完整性,当事务失败后所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性:事务中的所有操作结果在任何时候都是相同的,不被其他事务所干扰。持久性:事务中各个操作结果都是必须持久存储,通常都将执行结果保存在存储设备介质上。支持:事务管理器、应用服务器、资源管理器、应用程序、通信资源管理器,每一层都通过一组事务API和相关的机制参与到分布式事务管理系统中。9. (问答、选择) Web Service 开发用到的Java Annotation的含义及作用是什么。Annotation提供一种机制,将程序的元素如:类,方法,属性,参数,本地变量,包等数据联系起来。这样编译器可以将元数据存储在Cl

13、ass文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。它采取的是类似于Interface的定义方式: “+annotation类型名称+(.逗号分割的name-value对.)”WebService:声明当前类webservice的实现类、WebMethod:表示当前方法将发布为webservice方法10.(简答题)有状态会话Bean与无状态会话有何区别,选择时有何依据,他们在运行时有何区别。无状态(Stateless) :在不同方法调用间不保留任何状态;事务处理必须在一个方法中结束 ;通常资源占用较少;可以被共享(因为它是无状态的); 无状态Bea

14、n不会专门保存客户端的状态-(需要强调“专门”是因为无状态会话Bean也会有成员变量,有成员变量就可以保存状态,但它不会专门为特定的客户端保存状态。);你对ENTITY BEAN的数据操作不会被容器维护,当其他的用户要用ENTITY BEAN时,里面的数据不会被钝化到服务器的磁盘上。也就是被保存起来。有状态(Stateful):可以在不同的方法调用间保持针对各个客户端的状态;与客户端的联系必需被维持;通常开销较大;有状态会话Bean会保存客户端的状态 ;你对ENTITY BEAN的数据操作会被容器维护起来,当其他的用户要用你正在使用的ENTITY BEAN时,里面的数据会被钝化到服务器的磁盘上

15、,例如网上的购物车。11.(简答题) Web Service是什么?其核心标准有哪些( XML 、 SOAP 、 WSDL 、UDDI )?Web Service 是一种新的Web应用程序分支,他是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。SOAP:一种来用规范数据传输的协议(所有编程语言都可以根据这种规范来解析数据,所以就实现了跨语言)。WSDL:Web服务描述语言。用来描述一项web服务,能让调用这项服务的客户清楚这是一项什么服务,怎么调用这项服务。

16、UDDI:不仅是一个简单的搜索引擎,也包含了如何通过编程来和这些web服务的文档。XML:实现Web服务的异类基本结构以及在整个Web中实现Web服务,是实现支持简单数据描述格式的技术。Web服务必须使用XML来完成三件事情:基本的缆线格式、服务描述以及“服务发现”。12.(编程题)Java 利用JAX-WS开发Webservice的基本过程。(1)创建 Web Service 工程(2)创建 Web Service 类(a)创建 Web Service 类。package com.myeclipseide.ws; public class Calculator public int add(

17、int a, int b) return (a + b); public int subtract(int a, int b) return (a - b); public int multiply(int a, int b) return (a * b); public int divide(int a, int b) return (a / b); (3)创建 Web Service(a)把类制作成 Web Service。(b)配置 Web Service。(4)部署并测试 Web Service(a)部署 Web Service。(b)测试基于 JAX-WS 的 Web Service

18、。*(5)创建 Web Service 的客户端 (a)创建工程。首先创建工程,工程的名字为:WebServiceClientProject。 (b)创建 Web Service 客户端。接下来创建 Web Service 客户端。 (c)编写测试类。创建一个新类 WebServiceClient,并选择生成 main 方法。public static void main(String args) CalculatorService service = new CalculatorService(); CalculatorDelegate delegate = service.getCalcu

19、latorPort(); System.out.println(1. 3+7= + delegate.add(3, 7); System.out.println(2. 12-2= + delegate.subtract(12, 2); System.out.println(3. 9*9= + delegate.multiply(9, 9); System.out.println(4. 40/2= + delegate.divide(40, 2); (d)运行测试。13. (编程)有状态SessionBean示例.(1)创建 EJB 工程(a)创建 EJB 工程。(b)设置 EJB 工程的属性。

20、(c)添加类库。要添加的类库是 WebLogic 自带的 wlclient.jar,用于客户端程序。(2)创建有状态会话 bean(a)创建包。(b)创建有状态会话 Bean。(c)配置会话 Bean。(d)创建辅助类。public IdVerifier() public boolean validate(String id) boolean result = true;for (int i = 0; i id.length(); i+) if (Character.isDigit(id.charAt(i) = false) result = false; return result;(e)在

21、 Remote 接口中声明业务方法。public void initialize(String person) throws BookException;public void initialize(String person, String id) throws BookException;public void addBook(String title);public void removeBook(String title) throws BookException;public List getContents();public void remove();(f)实现 Bean 类。S

22、tateful(mappedName=cart)String customerName; String customerId; List contents; public void initialize(String person) throws BookException if (person = null) hrow new BookException(Null person not allowed.); else customerName = person; customerId = 0; contents = new ArrayList(); public void initializ

23、e(String person, String id) throws BookException if (person = null) throw new BookException(Null person not allowed.); else customerName = person; IdVerifier idChecker = new IdVerifier();if (idChecker.validate(id) customerId = id; else throw new BookException(Invalid id: + id); contents = new ArrayL

24、ist(); public void addBook(String title) contents.add(title); public void removeBook(String title) throws BookException boolean result = contents.remove(title);if (result = false) throw new BookException( + title + not in cart.); public List getContents() return contents; Remove() public void remove

25、() contents = null; (g)部署有状态会话 bean。(h)部署之后可以通过控制台查看部署情况。(3)编写测试程序Hashtable ht=new Hashtable();ht.put(Context.INITIAL_CONTEXT_FACTORY,weblogic.jndi.WLInitialContextFactory);ht.put(Context.PROVIDER_URL,t3:/localhost:7001);Context ctx; try ctx = new InitialContext(ht);ctx.lookup(cart#cn.edu.neusoft.ca

26、rt.CartRemote);cart.initialize(Duke dUrl, 123); cart.addBook(Infinite Jest);cart.addBook(Bel Canto); cart.addBook(Kafka on the Shore);List bookList = cart.getContents(); bookList = cart.getContents(); Iterator iterator = bookList.iterator(); while (iterator.hasNext() String title = (String) iterator

27、.next(); System.out.println(title); cart.removeBook(Gravitys Rainbow);cart.remove(); System.exit(0); catch (BookException ex) System.err.println(Caught a BookException: + ex.getMessage();System.exit(1); catch (Exception ex) System.err.println(Caught an unexpected exception!); ex.printStackTrace(); S

28、ystem.exit(1); (b)运行测试14. (选择) JPA的概念、优点、缺点。JPA是Java persistence API的缩写,是Java应用通过持久提供者访问数据可的一组标准的API.JPA优点JPA 是基于标准的。越来越多的提供商期待在不久的将来提供 JPA 实施。它提供了 Hibernate 和 TopLink 中最好的功能。它可以和 Java SE 和 Java EE 应用程序一起使用,需要使用 EJB 容器,也可以不要。其次:JPA框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。JPA缺点:由于非常新,

29、JPA 规范可能还需要进过重要发展才会变得很稳定。JPA 是一个规范而不是一个产品。您需要提供商提供一个实施,才能获得这些基于标准的 API 的优势。15题: JPA配置文件persistence.xml各节点的含义 /*Name属性用于定义持久化单元的名字 (name必选,空值也合法) transaction-type 指定事务类型(可选)*/ /描述信息.(可选) org.eclipse.persistence.jpa.PersistenceProvider / provider表示JPA提供者javax.persistence.PersistenceProvider接口的一个实现类 ja

30、va:/MySqlDS /*Jta-data-source和 non-jta-data-source用于分别指定持久化提供商使用的JTA和/或non-JTA数据源的全局JNDI名称(可选)*/ product.xml / 声明orm.xml所在位置.(可选 ./lib/model.jar /以包含persistence.xml的jar文件为基准的相对路径,添加额外的jar文件.(可选) com.domain.User /显式列出实体类,在Java SE 环境中应该显式列出.(可选 /声明是否扫描jar文件中标注了Enity类加入到上下文.若不扫描,则如 /JPA的属性 厂商专有属性property n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1