2011-02-11 2 views

답변

1

"web.xml"파일에 <servlet-mapping> 요소가 있다고 가정합니다.

대답은 동일한 <servlet> 요소에 대해 서로 다른 패턴을 가진 두 개의 <servlet-mapping> 요소를 사용하여 (정렬 할 수 있습니다) 대답입니다.

참고 이것은 Java EE Servlet 사양의 기능입니다. 관련 요청 디스패치는 Spring이 요청을보기 전에 발생합니다.

+0

가 나는 것을 시도하고, 나는이 오류가있어 : 2011년 2월 10일 오후 11시 43분 45초 org.springframework.web.servlet.DispatcherServlet noHandlerFound 경고 : URI와 HTTP 요청을 찾을 수 없습니다 매핑을 [/ myfirstgrid /invoices.xml]의 이름이 'myfirstgrid'인 DispatcherServlet – ktm5124

+2

두 개의 서블릿 만있는 것이 더 좋습니까? – ktm5124

+0

@ ktm5124 - 그게 다른 문제라고 말하고 싶습니다. 두 개의 ''요소가있는 설정이 작동하지 않는다면 요청은'DispatcherServlet'에 전혀 도착하지 않을 것입니다. 응용 프로그램 서블릿의 배선 파일/주석을보십시오. –

3

네, 그렇게 할 수 있습니다.

<servlet-mapping> 
     <servlet-name>dispatcherServlet</servlet-name> 
     <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

<servlet-mapping> 
     <servlet-name>dispatcherServlet</servlet-name> 
     <url-pattern>*.xml</url-pattern> 
</servlet-mapping> 
7

같은 매핑에서 여러 URL 패턴 태그를 추가하면 내가 당신을 원하는 뷰 객체 (.jsp로)로 해결하려면 컨트롤러를 만들기에 관해서 봄 3.0

<servlet-mapping> 
    <servlet-name>dispatcherServlet</servlet-name> 
    <url-pattern>/<url-pattern> 
    <url-pattern>*.htm</url-pattern> 
    <url-pattern>*.html</url-pattern> 
    <url-pattern>*.xml</url-pattern> 
</servlet-mapping> 

를 사용하여 작동 컨트롤러 클래스를 확장하고 특정 명명 규칙을 따르는 컨트롤러를 사용하거나 주석 기반 컨트롤러를 사용할 수 있습니다. 아래는 주석 기반 컨트롤러의 예입니다.

@Controller 
public class Controller { 

    @RequestMapping(value={"/","/index","/index.htm","index.html"}) 
    public ModelAndView indexHtml() { 
     // RETURN VIEW (JSP) FOR HTM FILE 
    } 

    @RequestMapping(value="/index.xml") 
    public ModelAndView indexXML() { 
     // RETURN VIEW (JSP) FOR XML FILE 
    } 
} 
+1

"/webapp/icons/calender.jpg"와 같은 형식으로 이미지 및 다른 아이콘에 액세스 할 때이 값을 추가하면 문제가 발생할 수 있습니다. 이러한 GET 요청은 모두 컨트롤러를 향하게되므로 문제가 발생할 수 있습니다. –

관련 문제