Если вы не можете переместить папку 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
хорошо с ним работает.
Другое решение:
Я полагаю, вы настроили сервлет orbeon в web.xml
с шаблоном URL /
согласно документации :
<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
служит для статического содержимого , установите его для статического содержимого:
<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
.Связанная конфигурация (которая фактически указывает на конфигурацию HTTP-сервера Apache, а не на конфигурацию Tomcat) является хорошей отправной точкой.
Обратите внимание, что эти шаблоны не являются регулярными регулярными выражениями.Проверьте Спецификация Java-сервлета 12.2 Спецификация сопоставлений для синтаксиса ( приведен пример ).
На основе ваших правок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
недоступно.