用于直接为Orbeon提供静态内容的Tomcat配置

时间:2011-10-13 15:44:32

标签: tomcat orbeon

Tomcat configuration link in orbeon讲述了如何将tomcat直接配置到服务器静态内容(如images,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

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

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

提前致谢

1 个答案:

答案 0 :(得分:2)

如果您无法移动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/中将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(因此它将位于d:\Server\apache-tomcat\webapps\orbeon3.9\images\forms_img),因为WEB-INF下的文件不可用。