如何为2组/模块的控制器定义多个servlet映射



我正在尝试设计一个多模块项目与spring mvc。

我不想涉及OSGi或springsource DM服务器。我只是想把控制器类分成几个包。

com.myproject
  ├─ moldule1
  │  └─ controller
  │      └─ controller classes for moldule1 ...
  └─moldule2
     └─ controller
         └─ controller classes for moldule2 ...

则可以通过…/module1/controller/action访问module1下的控制器。Do和module2下的控制器可以通过…/module2/controller/action.do.

谁能给我举一个这样的结构的例子?特别是如何在web.xml中配置servlet映射。提前感谢!

您可以在同一个项目中添加多个控制器,请像这样在dispatcher-servlet.xml中启用控制器自动扫描模式,

<context:component-scan base-package="com.myproject" />

然后按你想要的方式分离你的控制器,

@Controller
@RequestMapping("/module1/controller")
public class Module1Controller {
   // Define your specific HTTP RequestMapping 
   @RequestMapping(value = "/action.do", method = RequestMethod.GET)
   public String foo(HttpSerlvetRequest request, Map<String, Object> map)){
       // define your method behaviour
       return "sample";
   }
}

对于第二个Module2Controller,将其添加到项目中的同一个包中,

    @Controller
    @RequestMapping("/module2/controller")
    public class Module2Controller {
       // Define your specific HTTP RequestMapping 
    }

最新更新