|
|
Sun Java System Application Server 7 Web应用开发者指南 装配和部署Web组件 本模块描述了如何在Sun Java System应用服务器上装配和部署web组件。 全部的装配部署信息请参考Sun ONE Application Server开发指南 这部分包含以下主题: Web应用的结构
Web应用具有目录结构,所有访问都影射到应用文档的根(例如/hello)。 文档的根包含JSP>文件、HTML文件和图像文件等静态文件。 一个WAR(Web应用档案)文件以压缩形式包含一个完整的Web应用。 在文档根下有个特殊目录,名为WEB_INF,其中包含了与应用相关并且不在应用 的公共文档树中存在的所有文件。WEB-INF中包含的文件均不能被客户直接访问。WEB-INF的内容包括:
Web应用的目录结构遵循J2EE规格说明中列出的结构。这是一个简单的Web应用的目录结构示例:
这是一个简单的包含Web组件的J2EE应用示例的目录结构。
Sun Java System应用服务的Web组件包含两个部署描述文件文件:
生成web.xml和sun-web.xml文件最简单的方法是使用Administration界面或Sun Java System Studio 4来部署一个Web组件。更多信息请参考下一部分或Sun Java System应用服务器开发指南。例如web.xml和sun-web.xml文件,参考“Web组件XML文件实例” 生成这些文件后,可以使用Administration界面或像Ant这样的编辑器与命令行组合的工具来装配部署已更新的部署描述文件。Sun Java System应用服务提供了Apache Ant1.4.1。更多的信息请参考Sun Java System应用服务器开发指南。 部署Web应用部署、卸载或重新部署一个Web应用时,不必重新启动服务器。换句话说,部署是动态的。 可以以这样一些方式来部署应用程序,这儿作简要的说明: 关于部署的更详细信息,请参考Sun Java System应用服务器开发指南。 将-keepgenerated属性添加到sum-web.xml的jsp-config 元素中,这样就能为jsp文件保存生成的源。部署web应用时如果包含了这一属性,那么如果是一个应用程序,生成的源将被保存成instance_dir/generated/jsp/j2ee-apps/app_name/module_name;如果是一个独立部署的Web组件,生成的源将被保存成instance_dir/generated/jsp/j2ee-modules/module_name。 使用命令行使用命令行来部署某个web应用: 1、 手工编辑部署描述文件文件(web.xml和sun-web.xml)。 2、 运行一个Ant编译命令(例如build war)来装配WAR组件。 3、 如果需要,将web应用写成一个WAR文件。这是可选的。例如: jar -cvf module_name.war * 4、 使用asadmin部署命令来部署WAR组件。语法如下: asadmin deploy --user admin_user [--password admin_password] [--passwordfile password_file] --host hostname --port adminport [--secure | -s] [--virtualservers virtual_servers] [--type application|ejb|web|connector] [--contextroot contextroot] [--force=true] [--precompilejsp=false] [--verify=false] [--name component_name] [--upload=true] [--retrieve local_dirpath] [--instance instance_name] filepath 例如,下面的命令用于将一个Web应用部署成一个独立的组件: asadmin deploy --user jadams --password secret --host localhost --port 4848 --type web --instance server1 myWebApp.war 如果upload设置为false,那么filepath必须是服务器上的一个绝对路径。 使用Administration界面使用Administration界面来部署一个Web应用: 1、 在服务器实例下打开应用组件。 2、 到达Web应用页。 3、 点击Deploy按钮 4、 输入WAR组件(或点击Browse按钮查找)的完整路径,然后点击OK按钮 5、 输入Web应用名和上下文根。如果应用已经存在,可以通过选中合适的复选框重新部署Web应用。这是可选项。 6、 选中复选框指定虚拟服务器名字,可以将Web应用分配给一个或多个虚拟服务器。 7、 点击Ok按钮。 使用Sun Java System Studio可以使用Sun Java System Studio 4来装配和部署Web应用。 关于使用Sun ONE Studio的更多信息请参考Sun Java System Studio,企业版指南。
修改了Web应用并将它动态重新加载,不必重新部署web应用或重启服务器就可以完成。实现动态加载的步骤如下:
具体细节请参考Sun Java System应用服务器管理员指南。
关于server.xml的详细信息请参考Sun Java System应用服务器管理员配置文件参考。 另外,加载了新的servlet文件、EJB的相关修改或重新加载部署描述文件的改变,都必须遵循如下规则: 1、 在部署的应用的根部生成名为.reload的空文件: instance_dir/applications/j2ee-apps/app_name/.reload 或独立部署的组件的根部生成名为.reload的空文件: instance_dir/applications/j2ee-modules/module_name/.reload 2、 每次作了上述修改,必须显式地更新.reload文件的时间戳(在UNIX中为.reload的touch属性)。 对于JSP文件,修改被自动地以sun-web.xml文件中jsp-config元素的reload-interval属性中设置的频率重新加载。要禁止动态重新加载JSP页面,将reload-interval属性设置成-1。 Sun-web-app_2_3-0.dtd文件Sun-web-app_2_3-0.dtd文件定义了sun-web.xml文件的结构,以及可以包含的元素、子元素和这些元素拥有的属性。sun-web-app_2_3-0.dtd文件的位置在: install_dir/lib/dtds directory。
想知道更多关于DTD文件和XML的信息,请参考XML规范说明书,网页地址:http://www.w3.org/TR/REC-xml DTD文件和XML的全部信息参考http://www.w3.org/TR/REC-xml 处的XML规格说明。在DTD文件(可能以相应的XML文件形式表示)中定义的每个元素可以包含如下内容: 子元素
元素可以包含子元素。例如下面的文件段定义了cache元素。 <!ELEMENT cache (cache-helper*, default-helper?, property*, cache-mapping*)> ELEMENT标记指定一个cache元素可以包含cache-helper、default-helper、property和cache-mapping子元素。 下面的表格显示了如何选择子元素的后缀字符来确定子元素所需规则或允许出现的数量。左边一列列出了子元素的结尾字符,右边一列列出了对应的所需规则。
如果某个元素不能包含其它元素,可以参考EMPTY或(#PCDATA)附带提一下可替换的元素名称列表。 数据一些元素包含字符数据而不是子元素。这些元素的定义格式如下: <!ELEMENT element-name (#PCDATA)> 例如:<!ELEMENT description (#PCDATA)> 在sun-web.xml文件中,空格被看作是数据元素中数据的一部分。因此,在数据元素定界的数据前后不应该有额外的空格。例如: <description>class name of session manager</description> 属性<!ATTLIST cache max-capacity CDATA "4096" 一个cache元素可以包含max-capacity、timeout和enabled属性。 #REQUIRED标签表示值必须被应用。#IMPLIED标签表示该属性是可选的,Sun ONE应用服务器会产生默认值。只要可能,列出可选属性的显式默认值(例如”true”)。 属性声明指定属性的类型。例如,CDATA表 示字符数据,%boolean是一个预定以枚举。 这部分描述sun-web.xml文件中的XML元素。元素可以如下分类: sun-web-app规定Sun Java System应用服务器为Web组件指定配置。这是个根元素,在sun-web.xml文件中只能包含一个sun-web-app元素。 子元素 下面的表格描述了sun-web-app元素的子元素。左边一列列出了子元素的名称,中间一列指定所需规则,右边一列描述了该元素的功能。
属性 空 性质 下面的表格描述了sun-web-app元素的性质。左边一列列出了性质名,中间一列指定了默认值,右边一列描述了性质的功能。
property指定property时要指明名称和值。属性增加了下面一种或全部的配置信息到父元素中:
例如,一个manager-properties元素可以包含属性子元素: <manager-properties> manager-properties元素使用的这些属性与父元素session-manager的persistence-type属性相关。具体细节请参考session-manager元素的说明。 子元素 下面的表格描述了property元素的子元素。左边一列列出了子元素的名称,中间一列指定所需的规则,而右边一列描述了元素的功能。
属性 下面的表格描述了property元素的属性。左边一列列出了属性名称,中间一列指定默认值,而右边一列对属性的功能作了描述。
Description包含用于指定所含元素的文本说明的数据。 子元素 空 属性 空 上一部分 | 目录 | 下一部分 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||