Tomcat configuration link in orbeon介绍了如何配置tomcat以将服务器静态内容(例如图像,java-script和CSS)直接发送到客户端计算机,以及如何从Orbeon引擎中删除不必要的负载。


这里的描述不包含任何细节,因此我不是
能够进行配置。
我也想知道外部化是否适用于orbeon 3.9中的css和java-script,因为orbeon将这些文件合并为一个文件。


我正在使用tomcat 6.x和orbeon 3.9。

已编辑

orbeon图像文件夹结构d:\Server\apache-tomcat\webapps\orbeon3.9\WEB-INF\resources\images\forms_img

orbeon http://localhost:8080/orbeon3.9/images/forms_img/print.gif生成的图像URL

图片URL的Orbeon代码<xhtml:img src="/images/forms_img/print.gif" />

如果有人成功配置了它。请发布详细信息。

提前致谢

最佳答案

如果您不能移动resources文件夹并且不能使用任何特定于Tomcat的设置,请使用Tuckey Url Rewrite Filter。以下规则对我有用,因此可以提供WEB-INF文件夹中的内容:

<urlrewrite>
    <rule>
        <from>^/images/(.*)$</from>
        <to type="forward">/WEB-INF/resources/images/$1</to>
    </rule>
</urlrewrite>


Tuckey也可以处理.htaccess文件,但我还没有使用过。链接的.htaccess也许可以很好地工作。



另一个解决方案:

我想您已经在web.xml中使用URL模式/将的orbeon servlet配置为documentation suggested

<servlet>
    <servlet-name>orbeon-main-servlet</servlet-name>
    <servlet-class>
        org.orbeon.oxf.servlet.OrbeonServletDelegate
    </servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>orbeon-main-servlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>


在Tomcat的DefaultServlet serves static contents中,将其设置为您的静态内容:

<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>
        org.apache.catalina.servlets.DefaultServlet
    </servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.png</url-pattern>
    <url-pattern>*.jpg</url-pattern>
    ...
</servlet-mapping>


然后完成url-pattern列表。链接配置(实际上指向Apache HTTP Server配置,而不是Tomcat配置)是一个很好的起点。

请注意,这些模式不是常规的正则表达式。检查Java Servlet Specification 12.2映射规范以获取语法(here is some example)。



根据您的编辑,servlet-mapping应该是这样的:

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>/images/forms_img/*</url-pattern>
</servlet-mapping>


而且,由于WEB-INF/resources/images/forms_img下的文件不可用,因此必须将/images/forms_img文件夹移动到Web应用程序中的d:\Server\apache-tomcat\webapps\orbeon3.9\images\forms_img(它将位于WEB-INF上)。

09-27 17:17