【问题标题】:How to use 2 Controller on 1 RequestMapping如何在 1 个 RequestMapping 上使用 2 个控制器
【发布时间】:2012-06-06 01:59:27
【问题描述】:
@Controller
@RequestMapping("/person/process")
public class A {
//.....
}
@Controller
@RequestMapping("/person/process")
public class B {
//.....
}
我可以这样做吗?因为我的控制器中有太多方法,我想把它们分开。
【问题讨论】:
标签:
spring
model-view-controller
【解决方案1】:
这不是您的 Web 应用程序的良好设计。您需要通过在 /person/process/b 之后添加一个路径来更改两个控制器的 url 映射,或者您需要结合两个类并且可以让两个单独的方法作为两个不同的请求根据您的需要。
另一件事是您可以通过在控制器类顶部的 @RequestMapping 注释中指定 RequestMethod 参数来分隔它们。
但是您在控制器之上完成相同请求映射的方式将无法成功运行您的应用程序,因为 Spring Framework 会为不明确的映射抛出异常。
希望这对您有所帮助。干杯。
【解决方案2】:
这是不可能的。您必须能够区分这两种映射。例如,可以将一种方法配置为使用 json 和另一种 xml,或者请求参数的变化