针对was的jdk高低版本不同:对应修改ibm-web-ext.xmi或ibm-web-ext.xml文件。
示例配置:
以win7环境中的was8.5.5.4jdk_1.7为例:因为这里的jdk是高版本,所以文件后缀为.xml
1.修改概要文件目录\profiles\AppSrv01\config\cells下的文件
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\config\cells\Node01Cell\applications\yourProject_war.ear\deployments\yourProject_war
\yourProject.war\WEB-INF\ibm-web-ext.xml
2.修改概要文件目录\profiles\AppSrv01\installedApps下的文件
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\Node01Cell\yourProject_war.ear\yourProject.war\WEB-INF\ibm-web-ext.xml
在xml文件根结点下,添加
<enable-file-serving value="true"/>
<file-serving-attribute name="extendedDocumentRoot" value="D:/IBM" />
【D:/IBM就是要配置的相对于项目根目录的静态文件映射目录】
1&2两个文件都同样修改。
修改后的效果:
<?xmlversion="1.0" encoding="UTF-8"?>
<web-extxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://websphere.ibm.com/xml/ns/javaee"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaeehttp://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"version="1.0">
<jsp-attribute name="reloadEnabled" value="true"/>
<jsp-attribute name="reloadInterval"value="10"/>
<enable-file-serving value="true"/>
<file-serving-attribute name="extendedDocumentRoot" value="D:/IBM" />
</web-ext><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
如果是.xmi文件的话:
在根节点中添加属性:
fileServingEnabled="true"
在根节点下添加标签:
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot"
value="D:/IBM "/>
修改后的效果:
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:com.ibm.ejs.models.base.extensions.webappext="webappext.xmi" xmi:id="WebAppExtension_1"
reloadInterval="3"
reloadingEnabled="true"
fileServingEnabled="true">
<webApp href="WEB-INF/web.xml#WebApp_ID"/>
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot"
value="D:/IBM "/>
<jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot"
value="/opt/extDocRootDir"/>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文内容:
extendedDocumentRoot
当应用程序需要访问应用程序Web 应用程序归档 (WAR) 目录外部的文件时,请使用已扩展的文档根工具。此工具允许您使用一个或多个目录路径来配置应用程序,您可以从这些目录路径中提供静态文件和JSP 文件。当应用程序需要访问位于Web 应用程序归档 (WAR) 目录外部的文件时,您可以使用此属性。例如,如果几个应用程序需要访问一组公用文件,那么您可以将这些公用文件放在可作为扩展文档根目录来连接每一个应用程序的目录中。
要使用扩展文档根来配置应用程序,请将extendedDocumentRoot 属性作为文件服务属性添加到应用程序的 ibm-web-ext.xmi 或 ibm-web-ext.xml 文件。此属性的值是一个用逗号分隔的目录列表,这些目录充当静态文件的根目录位置。
以下条目是 ibm-web-ext.xmi 文件内的示例:
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
以下示例基于 ibm-web-ext.xmi 文件中的上一个条目(将该属性设置为 /opt/extDocRootDir 值):
- 对 http://localhost:9080/context_root/sample.html 资源的请求要求 sample.html 文件位于 /opt/extDocRootDir/sample.html 目录结构中。
- 对 http://localhost:9080/context_root/myDir/sample.gif 资源的请求要求 sample.gif 文件位于 /opt/extDocRootDir/myDir/sample.gif 目录结构中。
以下条目是 ibm-web-ext.xml 文件内的示例:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
version="1.0">
<file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
<jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
<jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir", ${MY_CUSTOM_VARIABLE} />
<reload-interval value="3"/>
<auto-encode-requests value="false"/>
<auto-encode-responses value="false"/>
<enable-directory-browsing value="false"/>
<enable-file-serving value="true"/>
<pre-compile-jsps value="false"/>
<enable-reloading value="true"/>
<enable-serving-servlets-by-class-name value="false" />
</web-ext>
重要: 要从扩展文档根目录中提供静态文件,您必须启用文件服务。
要使用从中提供 JSP 文件的扩展文档根来配置应用程序,请将extendedDocumentRoot 属性作为JSP 属性添加到 ibm-web-ext.xmi 或 ibm-web-ext.xml 文件。此属性的值是一个用逗号分隔的目录列表,这些目录充当JSP 文件的根目录位置。
以下条目是 ibm-web-ext.xmi 文件内的示例:
<jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
以下示例显示了 ibm-web-ext.xml 文件内的条目:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
version="1.0">
<file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
<jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
<jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir", ${MY_CUSTOM_VARIABLE} />
<reload-interval value="3"/>
<auto-encode-requests value="false"/>
<auto-encode-responses value="false"/>
<enable-directory-browsing value="false"/>
<enable-file-serving value="true"/>
<pre-compile-jsps value="false"/>
<enable-reloading value="true"/>
<enable-serving-servlets-by-class-name value="false" />
</web-ext>
还可以使用extendedDocumentRoot 属性将多个节点上的WebSphere 变量定义至相应的目录。
ibm-web-ext.xmi 示例:
<jspAttributes xmi:id="JSPAttribute_2" name="extendedDocumentRoot"
value="${MY_CUSTOM_VARIABLE}"/>
ibm-web-ext.xml 示例:
<jsp-attribute name="extendedDocumentRoot"
value="${MY_CUSTOM_VARIABLE}" />
其中,MY_CUSTOM_VARIABLE 是您要在多个节点上定义的 WebSphere 变量。
以下示例显示了ibm-web-ext.xmi文件,该文件用于将扩展文档根定义为文件服务属性和 JSP 属性:
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:com.ibm.ejs.models.base.extensions.webappext="webappext.xmi" xmi:id="WebAppExtension_1"
reloadInterval="3"
reloadingEnabled="true"
fileServingEnabled="true">
<webApp href="WEB-INF/web.xml#WebApp_ID"/>
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot"
value="/opt/extDocRootDir"/>
<jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot"
value="/opt/extDocRootDir"/>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension>
以下示例显示了 ibm-web-ext.xml 文件,该文件用于将扩展文档根定义为文件服务属性和 JSP 属性:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
version="1.0">
<file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
<jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
<jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir",${MY_CUSTOM_VARIABLE} />
<reload-interval value="3"/>
<auto-encode-requests value="false"/>
<auto-encode-responses value="false"/>
<enable-directory-browsing value="false"/>
<enable-file-serving value="true"/>
<pre-compile-jsps value="false"/>
<enable-reloading value="true"/>
<enable-serving-servlets-by-class-name value="false" />
</web-ext>
如果该请求是对欢迎文件的有效部分请求,那么将返回404 错误。如果 JSP 文件位于 JAR 文件内并且reloadEnabled 属性值设置为true,那么 JAR 文件的时间戳记将用于isOutDated 检查以进行重新编译。此参数的缺省值是空值。
支持的配置: 对于 IBM® 扩展文件和绑定文件,根据您使用的是 Java EE 5 之前的应用程序或模块还是 Java EE 5 或之后的应用程序或模块,.xmi 或 .xml 文件扩展名有所不同。IBM 扩展文件或绑定文件将命名为 ibm-*-ext.xmi 或 ibm-*-bnd.xmi,其中 * 是扩展文件或绑定文件的类型,例如,app、application、ejb-jar 或 web。存在下列条件:
对于使用 V5 之前的 Java EE 版本的应用程序或模块,文件扩展名必须是 .xmi。
对于使用 Java EE 5 或更高版本的应用程序或模块,文件扩展名必须是 .xml。如果应用程序或模块中包含 .xmi 文件,那么产品将忽略这些 .xmi 文件。然而,Java EE 5 或更高版本的模块可以在包含 Java EE 5之前的文件并使用 .xmi 文件扩展名的应用程序中存在。
ibm-webservices-ext.xmi、ibm-webservices-bnd.xmi、ibm-webservicesclient-bnd.xmi、ibm-webservicesclient-ext.xmi 和 ibm-portlet-ext.xmi 文件继续使用 .xmi 文件扩展名。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------