快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

J2EE类装入揭密

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

简介

一般 J2EE 尤其是 WebSphere® Application Server 使用复杂的技术来 构建和装入类。象许多开发者一样,您可能想知道它们是如何组织在一起的,如何设计项目 才能节省时间并且充分利用开发环境。

本文提供有关 J2EE 规范以及如何使用它在 WebSphere Studio Application Developer 中构建项目的信息。除了创建基本的 J2EE 应用 程序,我们还将研究一些 Application Developer 的最佳实践和高级功能部件。最后,我们 将为您提供一个扎实的基础以便处理“可怕的”ClassNotFoundException。

J2EE 模块

J2EE 规范描述三种类型的模块:Web 模块、EJB 模块和应用程序 客户机模块。当部署到 J2EE 应用程序服务器时,通常会将所有这些模块都压缩到单个 J2EE 应用程序 EAR 文件中。在以下每一节中会讨论一种模块以及如何使用 Application Developer 来构建它。

Web 模块

Web 模块包含 HTML、图像、JSps™、 Java™类和 servlet,以及创建 Web 应用程序所需的所有其它资源。象其它模块一样 ,Web 模块包含一个部署描述符。在 Web 模块中,部署描述符 web.xml 具有 servlet 初始 化和映射信息以及用于在应用程序服务器中运行 Web 模块的其它设置。

Web 模块有 两个特殊的 Java 代码文件夹: WEB-INF/classes 和 WEB-INF/lib 。classes 文件夹可以 包含“松散(loose)”Java 类(不在 JAR 文件中的类),并且可以将它用于 Web 应用程序范围内的 servlet 或实用程序类。通常对于这个文件夹使用特殊的类装入器, 因此如果对类进行更改,则应用程序服务器会自动将它们重新装入。lib 文件夹可以包含也 是由 Web 应用程序使用的 JAR 文件(而不是 ZIp 文件!)。应该将第三方 JAR 文件和其 它实用程序 JAR 文件放入这个文件夹。如果 JAR 文件被其它 Web 或 EJB 模块使用,则按 照下面的 企业应用程序一节中的说明将它们移动到“企业应用程序”项目中。

在 Application Developer 中,Web 模块由 Web 项目表示,它包含两个文件夹:source 和 webApplication。webApplication 文件夹包含扩展形式的完整 J2EE Web 模块。source 文件夹用于存放 .java 文件,因为它们常常不是部署的 Web 模块的一部分。当您在这个文 件夹中创建 Java 资源时,会自动编译它们并将它们放入 webApplication/WEB-INF/classes 文件夹。这会使 Web 项目始终保持同步,并准备好测试或导出。

如果从 WAR 文件导入了 Web 模块,则可能注意到 lib 文件夹中的 projectname_classes.jar 文件。这个文件包含导入的 WAR 文件的原始内容。如果 WAR 文 件包含源代码,则删除该文件,因为类将在 classes 文件夹中冗余地出现。

EJB 模块

EJB 模块包含 EJB bean、其特定于服务器的部署代码、部署描述符和助手类(可选的) 。它们包含应用程序的业务逻辑,并且在一般情况下由 Web、Application Client 和其它 EJB 模块调用。

在 Application Developer 中,EJB 模块由 EJB 项目表示。这些项目还有两个文件夹, bin 和 ejbModule。EJB 模块的源代码保存在 ejbModule 文件夹中。当更改和生成部署代码 时,将这个文件夹中的 Java 类编译到 bin 文件夹中。将剩余的资源(例如,部署描述符) 也复制到 bin 文件夹中。与 Web 项目的 webApplication 文件夹类似,bin 文件夹总是包 含完整的已部署的 EJB 模块。与 Web 项目不同的是,不应该以任何手工方式修改 bin 文件 夹,否则可能丢失更改。在 ejbModule 文件夹中进行所有更改,将会自动编译这些更改或将 它们复制到 bin 文件夹中。

如果从 EJB JAR 文件中导入 EJB bean,则可能注意到位于您项目根目录中的 Xxx_impor

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号