我们如何使用spring注释实现controllerclassnamehandlermapping

时间:2015-04-10 03:55:27

标签: java spring spring-mvc controller

我有一个带有两个控制器类的spring MVC应用程序,如下所示。

package test;
@Controller
public class MyTestController{

      @RequestMapping()
      public ModelAndView getTestView(){
           //create model and view
           //return model and view
      }
}

package test;
@Controller
public class MyTestDemoController{

      @RequestMapping()
      public ModelAndView getTestDemoView(){
           //create model and view
           //return model and view
      }
}

我使用&#39; <mvc:annotation-driven />&#39; &安培; &#39; <context:component-scan base-package="test.controller" />&#39;识别控制器。

当我使用类似于http://localhost:8080/myapp/MyTest.htm的网址点击应用程序时,我的意图是调用getTestView() 和simillarly 当我使用类似于http://localhost:8080/myapp/MyTestDemo.htm

的网址点击应用程序时,getTestDemoView()

我尝试将它放在Spring应用程序servlet中,但它已经完成了。

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />

你能建议我使用spring注释实现ControllerClassNameHandlerMapping吗?

2 个答案:

答案 0 :(得分:0)

您的代码正在尝试将root映射到两个控制器。将@RequestMapping(&#34; someValue&#34;)放在类顶部,类定义之上,然后转到localhost:8080 / someValue以查看响应。

答案 1 :(得分:0)

您正在使用扩展程序&#34; .htm&#34;并期望命名约定自动工作。我认为删除扩展可能会有效。

按照&#34; http://www.mkyong.com/spring-mvc/spring-mvc-controllerclassnamehandlermapping-example/&#34; 如果您正在使用扩展,请在您的配置中写下

或遵循命名惯例。

此致 Krish