快速业务通道

J2EE类装入揭密 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
tedClasses.jar 文件。这个文件包含导入的 EJB JAR 文件的原始内容。如果 JAR 包含源代码,则删除该文件,因为类将在 bin 文件夹中冗余地出现。

应用程序客户机模块

使用应用程序客户机模块以包含全功能客户机 Java 应用程序(非基于 Web),它连接到 并使用在服务器中定义的 J2EE 资源。通过将客户机代码放入应用程序客户机模块而不是简 单 JAR 文件,应用程序客户机将得益于服务器的资源(它不需要将类路径重新指定到 J2EE 和服务器 jar 文件)以及更方便的 JNDI 查询(服务器填充初始上下文和其它参数)。

在 Application Developer 中,应用程序客户机模块由应用程序客户机项目表示。对于 大部分模块来说,可以象在 Java 项目中创建独立的 Java 应用程序一样工作。

企业应用程序(J2EE 应用程序)

企业应用程序是一个或多个 Web、EJB 或应用程序客户机模块的组合。作为这些其它模块 的超集,它可以包含可能是多个模块组合的完整的应用程序。除了是一个有效的组合机制外 ,企业应用程序还在完整的应用程序级别上部署和维护代码,与作为单个代码片段相比,这 更加容易。企业应用程序也可以重设被包含的模块的部署描述符内部的设置,以更实用的方 式来组合或部署它们。

企业应用程序可能包含所含模块使用的 JAR 文件。这允许在应用程序级别上共享代码, 并且还是放置由多个 Web 或 EJB 模块使用的实用程序 JAR 文件的最佳位置。通过将这些 JAR 文件放入企业应用程序而不是全局类路径,它们同时也符合 J2EE 规范,在移动到新服 务器时不需要特殊发布和设置。

在 Application Developer 中,企业应用程序是由企业应用程序项目表示的。因为没有 直接将源代码构建到企业应用程序,所以这些项目没有子文件夹。

J2EE类装入揭密(2)

时间:2011-04-09 Gary Karasiuk Tim deBoer

WebSphere 类装入器

WebSphere Application Server 使用几个类装入器来遵循 J2EE 规范。除了使用类路径 环境变量定位并装入类的常规类装入器之外,还有许多正在工作的其它类装入器。

下面的图 1 显示了 WebSphere 中正在工作的类装入器的简化图。每个椭圆代表一个类装 入器,方括号中的文本描述了类装入器在何处查找类。

图 1. WebSphere 类装入器

J2EE类装入揭密 - 编程入门网

在顶部,常规 Java 系统类装入器使用类路径环境变量来装入类。第二个类装入器是特定 于 WebSphere 的并且使用 ws.ext.dirs 环境变量来装入类。(有关如何更改这个环境变量 的信息,请参阅“发行版说明”。在刷新中,您将能在服务器实例编辑器中更改这个变量。 )除了装入所有用户代码之外,这个装入器还装入在运行时所需的所有 WebSphere 和 J2EE 类。最后,由一个或多个模块类装入器来装入运行在服务器中的模块。它们遵循前面讨论的 J2EE 类装入规则来从应用程序装入类和 JAR 文件。

上面的图 1 中最重要的是将每个类装入器定义成其上面的类装入器的子类。无论何时需 要装入类,类装入器通常将请求委派给其父类装入器。如果父类装入器无法找到该类,则原 始类装入器试图装入该类。请求只能在树中上行而不能下行。如果请求 WebSphere 类装入器 查找 J2EE 模块中的类,它不能下行至模块类装入器来查找该类,并且将出现 ClassNotFoundException。一旦由类装入器装入一个类,则它尝试要装入的任何新类将重用 同一个类装入器,或者沿着该路径上行直到找到该类为止。

两种情况下,您可能遇到问题。

WebSphere、J2EE 和任何全局类无法“看见”包含在应用程序中的类。如果将 JAR 文件 添加到全局类路径或 ws.ext.dirs 属性中,则它就不再取决于模块中的类了。

如果需要全局地将数据库驱动程序或实用程序 JAR 添加到类路径,则必须将它们添加到 ws.ext.dirs 属性而不是添加到全局类

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号