EAR包的组成结构

2024-01-01 08:50
文章标签 结构 组成 ear

本文主要是介绍EAR包的组成结构,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

EAR文件结构
在J2EE标准定义了所有的EJB classes 都应该打包成一个JAR 文件。 所有的web 组件(JSPs, static pages, Servlets, gifs)都应该打包在一个WAR 文件里。所有应用程序客户端的classes都应该打包成一个JAR文件。EAR文件将会包括所有属于相对应的企业应用程序中的所有JARs文件和 WARs 文件。需要强调的是每个JAR, WAR, 和 EAR文件都将 包括一个Deployment Descriptor文件. Deployment Descriptor 是一个 XML 文件。

http://ibmur.hust.edu.cn/elearning/WAS/3-6.htm

实验内容:

在此实验中,你将浏览应用的EAR文件的结构和内容。

实验目的:

本实验结束后,你应该能够:

l         确定应用程序EAR文件中的组件

l         确定应用程序EAR文件的结构

l         使用资源浏览器导航到应用程序EAR文件夹

l         使用AAT在应用程序EAR文件中导航

简介:

那么你在前面创建和安装的是什么呢?EAR是什么,它在哪里?EAR是一个应用的完整的包。他由下列元素组成:

l         EJB模块(.jar文件)

l         Web模块(.war文件)

l         客户端模块(.jar文件)

l         应用配置描述符。

本实验中你将浏览一个应用的EAR文件的内容,并且认识其中的各个组件的作用。

实验所需材料:

要完成这个实验你需要有一个可以工作的拥有AAT工具的管理控制台,和一个应用EAR文件。

实验指导:

EAR文件的组件:

作为复习,这里列出了一个应用的EAR文件的所有组件。

EAR文件结构 - cs_blog - cs_blog的博客

EAR的结构和目录:

想查看包含EAR文件的实际目录吗?

1.       打开资源管理器。

2.       定位到安装websphere应用服务器的根目录:c:\websphere\appserver

3.       在此目录下选\installedapps文件夹。

a.       查看CS01_application.ear文件夹的内容。

b.       在此文件夹内,你将看到EAR的四个主要组件。

l         EJB模块—deployed_cs01.jar

l         Web模块—cs01.war

l         客户应用本应用中没有客户应用,但是如果有的话,客户应用模块将被打包成jar文件。

l         应用配置描述符—META-INF

        EAR文件结构 - cs_blog - cs_blog的博客

    你还会看到一个名为support.jar的文件。这个文件中包含有实验用例中的EJBservlet要用到的辅助类。

4.       浏览EJB模块。

   EAR文件结构 - cs_blog - cs_blog的博客

a.       winzip打开deployed_cs01.jar文件。

b.       你将看到所有组成应用的EJB类。这些类是由开发者打包的。

c.       滚动到ejb-jar.xml文件。这个文件中是所有ejb模块的配置描述符。用记事本打开查看ejb-jar.xml文件。配置描述符中是一些定义,描述以及列出应用中所有EJB的信息。下面还有应用于这些EJB的安全信息。

ejb-jar.xml文件顶部写下:<display-name>:

d.       查看ibm-ejb-jar-bnd.xml文件。这个文件中包含有各个EJB到它的JNDI名字的绑定。

e.       查看ibm-ejb-jar-ext.xml文件。这个xml文件中包含有IBM扩展信息。

f.        查看manifest.mf文件。这里你将看到组成EJB模块的一系列EJB类和xml文件。

g.       查看schema.dbxml文件。你将看到附加特性应用的表和列的映射。

h.       关闭记事本。

i.         关闭winzip

5.       查看web模块组件。

   EAR文件结构 - cs_blog - cs_blog的博客

a.       回到CS01_application.ear文件夹。展开cs01.war

EAR文件结构 - cs_blog - cs_blog的博客

b.       这里,你将看到所有web应用的一般组件。-html,图象文件,jsp,层次样式表,servlet。展开每个文件夹很容易区分这些web组件。所有这些组件都是从web开发工具中产生。组装器然后将这些组件组装成一个web模块。

c.       双击web-inf文件夹。右击web.xml文件,用记事本打开。这个文件是web模块配置描述符。

在此描述符中,你将看到描述和标志web组件的组件。所有项目都是在创建war文件的时候建立的。

d.       你看到多少servlet?它们的名称,以及按照servlet映射原则的URL是什么?把他们填入下面的表格中,因为你将在后面验证他们。

Table 2: web module servlets

EAR文件结构 - cs_blog - cs_blog的博客

e.       关闭web.xml文件。

f.        回到web-inf文件夹。这里同时也是web应用绑定和扩展文件的存放地方:ibm-web-bnd.xmlibm-web-ext.xml

6.       EAR文件的下一个组件是客户端应用。

你的应用中没有客户端应用,如果有的话,他不会象web模块一样是一个独立的文件夹,而是作为一个ear文件夹中所包含的jar文件。

7.       应用的ear文件的最后一个组件是应用配置描述符。这个描述符位于CS01_application.ear文件夹中的META-INF中。

EAR文件结构 - cs_blog - cs_blog的博客

a.       返回CS01_application.ear文件夹,打开META-INF文件

b.       用记事本打开application.xml

c.       这个xml文件定义了应用中的所有组件。这里你将看到EJB模块,web模块,客户应用组件的名称,以及应用相关的安全信息。

d.       用记事本打开ibm-application-bnd.xml

这个xml文件中有一些绑定安全角色到用户,组和特定对象的安全信息。并且与application.xml文件中的安全信息直接相关。

e.       用记事本打开ibm-application-ext.xml文件

这个文件中包含所有应用使用到的扩展。

f.        打开MENIFEST.MF文件

manifest文件在EAR文件产生过程中产生,包含应用相关的版本信息。

AAT打开应用EAR文件:

AAT你将看到相同的EAR组件,但在组织上有所不同。

1.       启动应用汇编工具(AAT

a.       开始》程序IBM websphere—application serverv4.0—application assemble tool

2.       welcome to applicationg assemble tool面板,点右上角的x,点cancel关闭。

3.       打开应用EAR文件

a.       file—open

b.       open窗口,定位到c:\websphere\appserver\installedapps目录

c.       cs01-application.jar文件夹。点open。这里你将在一个GUI界面中看到应用EAR文件的所有组件—EJB模块,客户模块,web模块,应用配置描述符。

EAR文件结构 - cs_blog - cs_blog的博客

使用AAT浏览EAR组件:

1.       EJB模块,展开EJB组件中的每一个+盒。

EJB模块组件由ejb群组构成,ejb群组由会话bean和实体bean组成。

EAR文件结构 - cs_blog - cs_blog的博客

a.       首先注意一下文件:deployed_cs01.jar,你是否在winzip展开了相同的jar文件?

b.       查看“display name”。看一下在AAT面板中的名称与你用winzip查看ejb模块时有什么关系。现在当你使用AAT时,你知道他们来自哪里了吧?

c.       Ejb模块的子组件是ejb群组,他们是一些ejb的集合。对于这个应用来说,你将只能看到一个ejb群组—ILSGroup。这个群组在ejb编程工具中创建,并且在将ejb文件加入ear文件的时候加入ear文件。

d.       下一个子组件级是两种类型bean—会话bean和实体bean。你的应用还是每种有一个。

e.       在每个bean下,你将看到他的特性。实体bean与会话bean的唯一区别是对于实体beanCMP域对于具有定义CMP域的beans是显示的。

f.        与每个EJB组件相关的还有安全角色,方法许可,容器事务和各种文件。

g.       文件区包括配置描述符ejb群组相关的ejb-jar.xml,除了ejb描述符内容,文件内容都不能用AAT观看。

-ejb群组,右击选查看描述符。

-将会有个特殊窗口打开显示配置描述符的内容。

正如你看到的,当使用AAT来查看时,ejb模块的信息将更有组织。

2.       关闭ejb模块组件。

3.       web模块,展开web模块组件和web组件旁边的每一个+

   EAR文件结构 - cs_blog - cs_blog的博客

web模块组件来自于war文件。它由你的应用中的jsphtml,图象文件,层叠样式表,servlet等组成。

查看web配置描述符。

a.       右击web应用名称。

b.       view descriptor来查看web组件的配置描述符。完成后关闭此窗口。

你看到web组件下面的servlet了吗?

a.       command servlet

b.       查看这个属性。当你浏览war文件时,组件名和显示名应当匹配前面提供的名称。但是URL映射怎么样了呢?

c.       观察下面的模块组件列表选servlet mapping

EAR文件结构 - cs_blog - cs_blog的博客

d.       这里你将看到每个servleturl映射。它应当匹配你前面记录的名称。

4.关闭web模块组件。

5.application clients展开客户端应用组件里的每个+框。

  你的应用没有任何客户应用,如果有的话,他们将在这里显示。

6.选择file文件夹。你将看到应用配置描述符(application.xml),应用列表文件,以及各种用来定义和描述应用的xml文件。

   EAR文件结构 - cs_blog - cs_blog的博客

注:如果用的AAT,你将只能看到这些文件的属性,而没有内容。若要查看内容,你需要使用资源管理器打开。

2.       查看文件内容将会出现异常。要想查看应用配置描述符,选application,右击选view descriptor

   EAR文件结构 - cs_blog - cs_blog的博客

3.       关闭AAT

恭喜你。。你现在已经可以区别应用程序的EAR文件中的组件并且可以使用资源浏览器和AAT两种方式在EAR中导航。

实验结束

实验回顾:

本实验中我们浏览了应用EAR文件中的各个组件。并且用资源浏览器和AAT两种方式查看了这些文件的结构和层次关系。

这篇关于EAR包的组成结构的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558740

相关文章

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

OpenCV结构分析与形状描述符(11)椭圆拟合函数fitEllipse()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C++11 算法描述 围绕一组2D点拟合一个椭圆。 该函数计算出一个椭圆,该椭圆在最小二乘意义上最好地拟合一组2D点。它返回一个内切椭圆的旋转矩形。使用了由[90]描述的第一个算法。开发者应该注意,由于数据点靠近包含的 Mat 元素的边界,返回的椭圆/旋转矩形数据

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

oracle11.2g递归查询(树形结构查询)

转自: 一 二 简单语法介绍 一、树型表结构:节点ID 上级ID 节点名称二、公式: select 节点ID,节点名称,levelfrom 表connect by prior 节点ID=上级节点IDstart with 上级节点ID=节点值 oracle官网解说 开发人员:SQL 递归: 在 Oracle Database 11g 第 2 版中查询层次结构数据的快速

Tomcat下载压缩包解压后应有如下文件结构

1、bin:存放启动和关闭Tomcat的命令的路径。 2、conf:存放Tomcat的配置,所有的Tomcat的配置都在该路径下设置。 3、lib:存放Tomcat服务器的核心类库(JAR文件),如果需要扩展Tomcat功能,也可将第三方类库复制到该路径下。 4、logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志。 5、temp:保存Web应用运行过程中生成的临时文件

C和指针:结构体(struct)和联合(union)

结构体和联合 结构体 结构体包含一些数据成员,每个成员可能具有不同的类型。 数组的元素长度相同,可以通过下标访问(转换为指针)。但是结构体的成员可能长度不同,所以不能用下标来访问它们。成员有自己的名字,可以通过名字访问成员。 结构声明 在声明结构时,必须列出它包含的所有成员。 struct tag {member-list} variable-list ; 定义一个结构体变量x(包含

Java Web应用程序的推荐目录结构

以前没有用过maven管理过项目的依赖,最后使用上了maven,发现通过不能方式建立出来的web应用程序目录结构基本都不一样,既然每次都要到网上搜索如何建立maven管理的Web应用程序,不如自己找百度谷歌一下。 找了半天 ,感觉比较好的maven管理的web应用程序目录结构是这个: ├── pom.xml└── src├── main│ ├── java│ │ └── myg

mysql 修改表结构语句

主要还是要参考mysql的官方网站 http://dev.mysql.com/doc/refman/5.7/en/alter-table.html 简单例子: alter table_name alter column old_column_name new_column_name int unsigned;