2013-03-05 2 views
0

JBoss 서블릿 엔진에서 Java/Spring/Maven을 사용하고 MultiActionController를 사용하여 REST API를 설정하고 있습니다. MultiActionController를 사용한 Spring Rest API 정의

예를 들어 어떤 I want to do is to group requests to a Single controller : - : http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch18s02.html 다른 요청에 대한 여러 가지 방법을 가지고 모든 /requestA goes to Controller a, 같은 /requestA/add.do goes to add-function

  • /requestA/delete.do goes to delete-function.

내가 봄 설명서를 읽어 봤는데 및 http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch16s03.html#mvc-controller-multiaction

하지만 xml의 디스패처 구성에는 몇 가지 문제가 있습니다. Spring MVC에서이를 수행하는 좋은 예를 누구나 알고 있는가? springapp-servlet.xml에

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

    <bean name="/test/*.do" class="org.test.TestControllerA" /> 
</beans> 

web.xml을

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
    id="WebApp_ID" version="2.5"> 
    <display-name>springTest</display-name> 

    <servlet> 
     <servlet-name>springapp</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>springapp</servlet-name> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 
</web-app> 

및 자바 컨트롤러

public class TestControllerA extends MultiActionController { 

    @RequestMapping("/TEST") 
    public ModelAndView add(HttpServletRequest request, HttpServletResponse response) throws Exception { 
    System.out.println("Test42"); 
    return new ModelAndView(); 
    } 
} 
+2

봄을 보여주세요 xml – Sudhakar

+0

어떻게 URL 매핑을 수행하고 있습니까? –

+0

코드가 – Hiny

답변

1

당신은 서블릿 매핑

<servlet-mapping> 
    <servlet-name>springapp</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 
,536 누락

귀하의 URL의 확장자는 *.do이지만 springapp으로 매핑되지 않았습니다. 위의 구성을 귀하의 웹 사이트에 추가하십시오 web.xml

+0

내가 얻을 : 에 매핑 이름 'springapp'은 JBoss 로그에 와의 DispatcherServlet의 URI [/MY-PROJECT-0.0.1-SNAPSHOT/test/add.do]와 HTTP 요청을 찾을 수 없습니다. – Hiny

+0

.do를 추가하고 @RequestDefinition을 제거하는 것이 도움이되었습니다. 서블릿 conf에 duble 매핑이있었습니다. – Hiny