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
上)。