2011-10-06 124 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

我在书上找到了我的答案。我必须使用标签。 –

相关问题