2011-10-06 122 views
0

我的web.xml是: http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd「id =」WebApp_ID 「版本=」 2.5" > TestStruts2如何從DispatchServlet映射文件夾(資源文件夾)

<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。它說的是:「找不到映射....」

回答

2

從WEB-INF中獲取圖像,包含程序代碼(JSP,類文件,庫等)並阻止從外部訪問。將資源放入項目存檔(.war,.ear)不是一個好習慣,因爲您的包將非常重部署。

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

意味着你的DispatcherServlet的請求映射http://host/applicationName/ *

你可以把你的資源將其從您的Java應用程序中獨立於您的主機的vhost/host.com/httpdocs/images。說:

http://host/myimages/

和相對accessable從templeates(JSP)的

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

因此您的包會更小和快速部署;)

+0

:)感謝。我會盡快嘗試。 –

+0

喜歡有「+1」至少:)或更好的接受答案;-) –

+0

我在書上找到了我的答案。我必須使用標籤。 –

相關問題