教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 Avalon phoenix文档之服务器装配者(Server Assemblers

Avalon phoenix文档之服务器装配者(Server Assemblers

发布时间:2018-12-21   编辑:jiaochengji.com
教程集为您提供Avalon phoenix文档之服务器装配者(Server Assemblers等资源,欢迎您收藏本站,我们将为您提供最新的Avalon phoenix文档之服务器装配者(Server Assemblers资源

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">服务器装配者<span lang=EN-US style="FONT-SIZE: 16pt; COLOR: black">(Server Assemblers)<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">向导<span lang=EN-US style="FONT-SIZE: 16pt; COLOR: black"><o:p></o:p>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''; mso-shading: white; mso-pattern: gray-15 auto">谁应该读本文档<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">服务器装配者向导是为想为装配<span lang=EN-US>phoenix服务器应用程序的人编写的。前提假设你对phoenix框架的基本概念比较熟悉。<o:p></o:p></FONT></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">本章集中在装配方面,对<span lang=EN-US>java 编成无特殊要求。也同样假设你对服务器的基本原则,基本安全措施和性能调整比较熟悉。<o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">本章的组织<span lang=EN-US><o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">信息以节组织的,每一节详细的阐述装配服务器应用的一个方面。<span lang=EN-US><o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">内容<span lang=EN-US><o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">1.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">什么是服务器应用?<span lang=EN-US><o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">2.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">如何创建一个服务器应用?<span lang=EN-US><o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">3.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Config.xml规格说明<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">4.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Assembly.xml规格说明<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">5.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Environment.xml规格说明<span style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Avalon 文档小组编写</FONT>

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">什么是服务器应用<span lang=EN-US><o:p></o:p></B></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">介绍<span lang=EN-US><o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">在<span lang=EN-US>phoenix中,服务器应用是一套blocks,它一起提供一个统一的用户服务。服务器应用的例子包括邮件服务器,文件服务器,Web服务器等。服务器应用是包含一套blocks组件的高层次的组件。<o:p></o:p></FONT></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">除了<span lang=EN-US>blocks以外,服务器应用还需要一定数量的其他组件来完成。服务器应用需要配置文件定义设置(例如线程,安全,日志等);定义那些blocks如何包裹在一起;为block实例定义配置数据。Block还需要应用程序所指定的其他资源。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Peter Donald,Berin Lortisch 编写<o:p></o:p></FONT>

<span style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">创建服务器应用<span lang=EN-US><o:p></o:p></B></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">介绍<span lang=EN-US><o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">本文档将描述装配你第一个服务器应用的步骤。创建一个服务器应用有以下步骤:<span lang=EN-US><o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">1.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">选择你想装配的<span lang=EN-US>blocks。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">2.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">编写<span lang=EN-US>config.xml。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">3.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">编写<span lang=EN-US>assembly.xml。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">4.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">编写<span lang=EN-US>environment.xml。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: 宋体"><span style="mso-list: Ignore">5.</FONT><span style="FONT: 7pt ''Times New Roman''">       <span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">将组件及其相关资源打包在一个<span lang=EN-US>sar文件中。<span style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">选择你想装配的<span lang=EN-US>blocks<o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">作为一个装配人员,为你的应用选择一个所需的精确的<span lang=EN-US>block是你的责任。可以从你自己的资源中获得你所需的blocks,你也可以使用phoenix提供的核心blocks,定约他人的组件,或者在在线知识库中下载组件。<o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">编写<span lang=EN-US>config.xml<o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Blocks的配置数据存储在config.xml文件中。想了解更多的关于config.xml的详情请参看config.xml规范。<o:p></o:p></FONT>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">编写<span lang=EN-US>assembly.xml<o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">下一步是编写<span lang=EN-US>assembly.xml文件,assembly.xml文件详细指定了作为服务器应用部分的blocks实例。每一个block都有一个名字。每一个block可以有从属(dependencies),这可以通过“provide”子元素实现。Provide元素可以映射从服务器应用命名空间到BlockInfo文件中Block角色命名空间。想了解更多的关于assembly.xml的详情请参看assembly.xml规范。<o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">编写<span lang=EN-US>environment.xml<o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">下一步是编写<span lang=EN-US>environment.xml文件,该文件是用于配置基于代码安全的原则、日志管理原则和线程池。想了解更多的关于environment.xml的详情请参看environment.xml规范。<o:p></o:p></FONT></P>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">创建<span lang=EN-US>Sar文件<o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Sar 文件格式是标准的分布式phoenix服务应用格式。它是拥有特定目录布局的标准jar文件,config.xml、assembly.xml和environment.xml必须存储在文件的SAR-INF/目录下,而所有的jar文件,包口所有的blocks和支持类库都必须存储在SAR-INF/lib目录下。<o:p></o:p></FONT>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Peter Donald 编写<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">Config.xml文件规范<o:p></o:p>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">介绍<span lang=EN-US><o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Config.xml文件存在的目的是为每一个需要配置数据的block提供配置数据。配置数据的格式是block规范指定的。因而,请参考block文档了解相应的细节。在assembly.xml文件中,根元素下面的每一元素拥有一个相应于block规范的名字。该元素的内容就是block的配置数据。<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">Config.xml例子<o:p></o:p>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><?xml version="1.0"?><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><config><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <myAuthorizer><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <!-- ...configuration data here... --><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </myAuthorizer><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <myBlock><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <param1>param1-value</param1><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <an-integer>2</an-integer><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      ...<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </myBlock><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"></config><o:p></o:p></FONT>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Peter Donald 编写<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">Assembly.xml文件规范<o:p></o:p>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">装配文件<span lang=EN-US><o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Assembly.xml定义了如何装配应用程序,它也定义了组成应用程序的blocks和如何连接blocks,太还定义了包含在应用中的应用监听者。<o:p></o:p></FONT>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">在早期的<span lang=EN-US>phoenix版本中,配置文件也可以存储在Assembly文件中。现在不同了,配置数据存储在一个单独得配置文件(config.xml)中。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Assembly.xml的根元素必须是<assembly>元素。对于每一个block和属于应用程序一部分的应用监听者根元素必须包含一个子元素。这些元素在下文描述。<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto"><block>元素<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><block>元素定义了一个block和如何为这个block提供服务。<block>元素有以下属性。<o:p></o:p></FONT>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">属性<span lang=EN-US><o:p></o:p></B></P>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">描述<span lang=EN-US><o:p></o:p></B></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">class<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Block实现类的全当限名称(fully-qulified name),这个类必须是public,必须拥有一个无参的public 构造函数。必须有一个BlockInfo文件与此类相关。<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">name<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Block的唯一命名。该命名用于assembly文件中其他部分查阅此block,或者在config文件中查阅该block。Block命名只能包含字母、数字、“-”和“.”。<o:p></o:p>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: #333399; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><provide>元素<o:p></o:p></FONT>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><provide>元素定了如何为一个block提供特殊服务。它连接一个block和另一个为它提供所需服务的block。在block的BlockInfo文件中对于每一dependency列表至少有一个<provide>元素。对于大批的计划的服务,对于每一个denpendency可能有多于一个的<provide>元素。<provide>元素有以下属性。<o:p></o:p></FONT>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">属性<span lang=EN-US style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></B></P>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">描述<span lang=EN-US style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></B></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">alias<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">使用服务和映射服务的关键元素。默认值是<span lang=EN-US>name属性的值。<o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">name<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">该属性是为目标<span lang=EN-US>block提供服务。这必须参考同一应用中的另外一个block.<o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">role<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">服务的角色(<span lang=EN-US>role)。这必须参考block的BlockInfo文件中denpendency列表之一。该服务名和版本由dependency指定,必须同BlockInfo文件的服务列表之一对应。<o:p></o:p></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: #333399; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><proxy>元素<o:p></o:p></FONT>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><proxy>元素控制着在向其他block提供blocks前phoenix是否将proxy对象和block打包。<o:p></o:p></FONT>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">属性<span lang=EN-US style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></B></P>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">描述<span lang=EN-US style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></B></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">disable<span style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">使用<span lang=EN-US>proxy对象失效。默认值是false.<span style="BACKGROUND: #d9d9d9; mso-shading: white; mso-pattern: gray-15 auto"><o:p></o:p></P>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto"><listener>元素<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><listener>元素定义了一个服务器监听。<listener>元素有以下属性:<o:p></o:p></FONT>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">属性<span lang=EN-US><o:p></o:p></B></P>

<span style="COLOR: white; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">描述<span lang=EN-US><o:p></o:p></B></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">class<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">监听类的全当限名称<span lang=EN-US>(fully-qulified name)。这个类必须是public,必须提供一个public的无参的构造函数。它必须实现哦org.Avalon.phoenix.ApplicationListener接口。<o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">name<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">监听者的唯一的命名。它用于指向配置文件中的监听者。命名中只能含有字母、数字、“<span lang=EN-US>-”和“.”。<o:p></o:p></P>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto"><block-listener>元素(不提倡)<o:p></o:p>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt"><block-listener>元素定义了block的监听者。注意这种使用block的方法是不提倡的。<block-listener>的属性和<listener>元素相同。<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">Assembly.xml文件例子<o:p></o:p>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">下面是一个<span lang=EN-US>assembly.xml的例子。它定义了2个blocks,分别叫做myAuthorizer和myBlock,并定义了一个监听者。myBlock使用了myAthorizer提供的Athorizer服务。<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><?xml version="1.0"?><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><assembly><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <block name="myAuthorizer"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">           class="com.biz.cornerstone.blocks.MyAuthorizer"><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </block><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <block name="myBlock"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">           class="com.biz.cornerstone.blocks.MyBlock"><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">        <provide name="myAuthorizer"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                 role="com.biz.cornerstone.services.Authorizer"/><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </block><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <listener name="myListener"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">              class="com.biz.cornerstone.listeners.MyListener"><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </listener><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"></assembly><o:p></o:p></FONT>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Peter Donald 编写<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 16pt; COLOR: black; FONT-FAMILY: 宋体">Environment.xml文件规范<o:p></o:p>

<span style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">介绍<span lang=EN-US><o:p></o:p></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Environment.xml文件的目的是配置环境或者服务器应用设置。当前这意味着可以设置安全原则和配置日志设置。下面是一个environment.xml文件样本。早期的线程池也是在本节设置的,但这已经不提倡了。注意早期的存储在environment.xml文件中的数据是存储在Server.xml文件中的。<o:p></o:p></FONT>

<span lang=EN-US style="FONT-SIZE: 12pt; BACKGROUND: #d9d9d9; COLOR: blue; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto">Environment.xml例子<o:p></o:p>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><?xml version="1.0"?><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><environment><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <logs><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <category name="" target="default" priority="DEBUG" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <category name="myAuthorizer" target="myAuthorizer-target"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                priority="DEBUG" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <log-target name="default"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                  location="/logs/default.log" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <log-target name="myAuthorizer-target"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                  location="/logs/authorizer.log" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </logs><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <policy><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <keystore name="foo-keystore"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                location="sar:/conf/keystore"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                type="JKS" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <grant code-base="file:${app.home}${/}some-dir${/}*"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">              key-store="foo-keystore" ><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">        <permission class="java.io.FilePermission"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                    target="${/}tmp${/}*"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                    action="read,write" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      </grant><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <grant signed-by="Bob"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">     <span style="mso-spacerun: yes">        code-base="sar:/SAR-INF/lib/*"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">             key-store="foo-keystore" ><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">        <permission class="java.io.FilePermission"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                    target="${/}tmp${/}*"<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">                    action="read,write" /><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      </grant><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </policy><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"></environment><o:p></o:p></FONT>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">如果装配人员对标准的<span lang=EN-US>policy十分有经验的话,Policy片段格式就十分的明显。注意,如果给有指定policy,Server应用程序将在所有允许的权限下运行。属性评价发生在类似于标准plocy文件属性扩展下发生。有几个额外的属性可以用于估计。他们包括:App.home和App.name。<o:p></o:p></FONT></P>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">有一件特殊的事情需要提醒<span lang=EN-US>,用户可以使用URLs的形式。例如:“sar:/SAR-INF/lib/*”。这必须申请sar文件中jar权限。注意:这些URLs必须以“sar:/”起始,必须以“/”作为文件分割符而不必关心操作系统。<o:p></o:p></FONT></P>

<span lang=EN-US style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">Logs片段可以同时拥有两种元素。Log-targets描绘的是日志及其种类,必须拥有一个命名为“default”的log-targets。种类是自然界的继承,又一个优先权,和一个或者多个log-targets关联。参看logging文档作进一步了解。<o:p></o:p></FONT>

<span style="COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-size: 10.5pt">有另一种类型的日志配置。它更容易配置。指定日志版本属性。参看<span lang=EN-US>javadoc中的org.apache.Avalon.excalibur.logger做进一步了解。下面是一个配置实例:<o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><?xml version="1.0"?><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><environment><o:p></o:p></FONT>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">  <logs version="1.1"><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <factories><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <factory type="file" class="org.apache.Avalon.excalibur.logger.factory.FileTargetFactory"/><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    </factories><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><o:p> </FONT></o:p>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">    <categories><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      <category name="" log-level="INFO"><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">        <log-target id-ref="default"/><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes">      </category><o:p></o:p></FONT></P>

<span lang=EN-US style="BACKGROUND: #d9d9d9; COLOR: black; FONT-FAMILY: 宋体; mso-shading: white; mso-pattern: gray-15 auto; mso-bidi-font-size: 10.5pt"><span style="mso-spacerun: yes"> &nb
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

您可能感兴趣的文章:
Avalon Phoenix文档之概述
Avalon phoenix文档之服务器装配者(Server Assemblers
servlet与jsp基础教程(2)-设置开发、运行环境
JSP入门教程(1)-基础知识
要成为Java高手需要注意的25个学习目标
RHEL4下建立sendmail服务器
ubuntu下Bind9安装配置指南
jsp开发入门(1)--安装配置jsp环境
php放在哪种服务器上
php服务器配置(php+mysql+iis)步骤

[关闭]
~ ~