2011-10-06 5 views
0

내 web.xml은 입니다. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd "id ="WebApp_ID "버전 ="2.5 "> TestStruts2DispatchServlet에서 폴더 (리소스 폴더) 매핑을 제외 할 수있는 방법

<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> 

,321 0 Spring과 Tiles2.1을 사용 중입니다. 내 리소스 폴더는/WEB-INF/Templates/Resources/ 입니다. DispatcherServlet은 모두 ("/")로 매핑되도록 설정되어 있습니다. tomcat이 이미지와 CSS를 표시하지 않기 때문에 "Resources"폴더 (이미지, CSS 포함)를 제외시키고 싶습니다. 그것은 다음과 같은 것을 말합니다 : "매핑이 없습니다 ...."

답변

2

WEB-INF에서 images, css 등의 리소스를 가져옵니다. "WEB-INF"는 정적 리소스를위한 것이 아니며, 프로그램 코드 (JSP, 클래스 파일, 라이브러리 등)를 포함하고 외부로부터의 액세스를 차단하십시오. 패키지가 매우 무거울 것이므로 프로젝트 아카이브 (.war, .ear)에 리소스를 저장하는 것은 좋지 않습니다. 배포합니다.

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

당신의 DispatcherServlet이 요청을 매핑하는 것을 의미한다 http://host/applicationName/ *

당신은 당신의 자원을 넣을 수 있습니다 s를 java 응용 프로그램과 별도로 호스트의 vhost/host.com/httpdocs/images에 저장하십시오. 말 :

당신의 templeates에서

http://host/myimages/

상대적으로 accessable 한 (JSP를)

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

따라서 귀하의 패키지가 작고 배포하는 빠른 것)

+0

: 감사합니다. 나는 곧 이것을 시도 할 것이다. –

+0

적어도 "+1"또는 더 나은 대답 수용을 원합니다 .-) –

+0

책에 대한 답변을 찾았습니다. 태그를 사용해야합니다. –