2009-09-04 102 views
0

我想Spring MVC中使用的MultiActionController,但我一直日志解决PageNotFound带弹簧的MultiActionController

(org.springframework.web.servlet.PageNotFound)在得到一个404以下消息 未找到HTTP请求与测绘 URI [/www.mysite.no/a/b/c在 DispatcherServlet的名为“myServlet”

它看起来像我下面的这本书的例子,但它仍然不起作用?想法,任何人?

代码示例:web.xml中

<servlet-mapping> 
    <servlet-name>subscriptionServlet</servlet-name> 
    <url-pattern>/a/b/*</url-pattern> 
    </servlet-mapping> 

Spring配置:我-servlet.xml中

<beans ...> 
    <bean id="myController" class="foo.bar.MyController"> 
    <property name="methodNameResolver" ref="productMethodNameResolver"/> 
    </bean> 

<bean id="productMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> 
    <property name="mappings"> 
     <value> 
/*=view 
     </value> 
    </property> 
    </bean> 
</beans> 

控制器:

public class MyController extends MultiActionController { 

    Log logger = ... 

    @Override 
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{ 

     logger.fatal("Never displayed in log"); 

     return super.handleRequest(request, response); 
    } 

    public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception { 
     logger.fatal("Never displayed in log"); 
     return null; 
    } 

回答

0

我已经包含URL映射到内的方法控制器,但缺乏实际控制器的URL映射。以下必须添加到弹簧配置

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <value> 
      /*=myController 
     </value> 
    </property> 
</bean>