Как я могу исключить из DispatchServlet сопоставления папки (папка ресурсов) - PullRequest
0 голосов
/ 06 октября 2011

Мой web.xml: http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id = "WebApp_ID" version = "2.5"> TestStruts2

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>
        org.apache.tiles.definition.DefinitionsFactory.DEFINITIONS_CONFIG
    </param-name>
    <param-value>
        /WEB-INF/tiles-defs.xml
    </param-value>
</context-param>

<listener>
    <listener-class>org.apache.tiles.web.startup.TilesListener</listener-class>
</listener>   
<welcome-file-list>
    <welcome-file>/WEB-INF/Templates/Jsp/index.jsp</welcome-file>
</welcome-file-list>   

Я использую Springи Tiles2.1 Моя папка с ресурсами находится в / WEB-INF / Templates / Resources / DispatcherServlet, в котором отображается все ("/").Я хочу исключить папку «Ресурсы» (которая содержит изображения, CSS), потому что tomcat не показывает изображения и CSS.Это говорит что-то вроде: ,, Картографирование не найдено для .... "

1 Ответ

2 голосов
/ 06 октября 2011

Возьмите ресурсы, такие как изображения, CSS и т. Д. Из WEB-INF. «WEB-INF» не предназначен для статических ресурсов и используется для хранения программного кода (JSP, файлов классов, библиотек и т. Д.) И предотвращения доступа извне. Не рекомендуется помещать ваши ресурсы в архив вашего проекта (.war, .ear), потому что ваш пакет будет очень тяжелым для развертывания.

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

означает, что ваш диспетчерский сервлет отображает запросы http://host/applicationName/*

Вы можете поместить свои ресурсы в vhost / host.com / httpdocs / images вашего хоста независимо от вашего Java-приложения. говорят:

http://host/myimages/

и относительно доступный из ваших храмов (jsps)

<img src="/myimages/myicon.png"/>

поэтому ваши пакеты будут меньше и быстрее для развертывания;)

...