1

如果有人可以分享他们对此的想法,我将不胜感激。我是 Spring 新手,但对 MVC 并不陌生。然而,我对 MVC 的了解主要是在前端方面。

假设我有一个使用 SpringMVC Framework 3.0 的动态站点,并且该站点有 5 个链接,例如:

主页 | 家庭 | 喜剧 | 恐怖 | 行动

这些链接中的每一个都将查询数据库并显示信息。如果我要通过 MVC 框架为前端执行此操作,我将有五个不同的控制器,但我在这里遇到了一个问题(Stackoverflow),它谈到只有一个控制器,然后是多个解析器。我想知道正确的方法是什么?

这是上述问题的链接: Spring controller setup question?

4

3 回答 3

2

正如 Jaanas 所说,这实际上取决于您如何检索每个链接的数据,以及结果页面是全部基于相同的数据模型和模板 (JSP) 还是彼此完全不同。

我倾向于为“家”使用单独的控制器,但如果其他页面只是查询数据库,那么我会开始从单个控制器为这些页面提供服务。

尝试根据 REST 原则考虑您的页面也是一个好主意。一旦您开始查看 REST URI 方面的链接,那么各种 URI 是否进入相同或单独的控制器的决定就很明显了。例如,如果“family”的 URI 是/movie/genre/family,那么很明显,所有 4 个链接都应该放在GenreController类(或一个MovieController类,使用带有注释/genre的方法捕获类别)中。@PathVariable

于 2012-10-05T07:28:32.213 回答
1

这取决于您在每个链接背后有多少逻辑。如果每个控制器中只有一个映射,则可以使用单个控制器。

也就是说,当只做像你这样的小项目时,我仍然更喜欢拥有单独的控制器。

另一方面,如果您的项目扩展,您最终可能会拥有数量荒谬的控制器,而这并没有多大作用。在这种情况下,您可以从一开始就对控制器进行分组,从而对具有几乎相同逻辑方面的类似控制器进行分组。

于 2012-10-05T06:10:44.540 回答
1

应用程序中的控制器数量取决于项目的范围。如果您有固定要求并且操作数量有限,那么您可以使用单个控制器来处理您的所有请求。

但是,如果您的要求不是固定的或将随着您的应用程序版本而增加,您必须为单独的模块使用单独的控制器。这样将来您就可以轻松管理您的应用程序代码。

为了更好地维护代码,我更喜欢为每个模块使用单独的控制器。

于 2012-10-05T07:23:17.340 回答