我正在尝试设计一个多模块项目与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
}