Spring MVC 3.0控制器和解析器
如果有人能分享他们对此的想法,我将不胜感激。我不熟悉Spring,但对MVC并不陌生。然而,我与MVC的接触主要是在事情的前端 假设我有一个采用SpringMVC Framework 3.0的动态站点,该站点有5个链接,例如: 家庭|家庭|喜剧|恐怖|动作 每个链接都将查询数据库并显示信息。如果我要通过MVC框架为前端做这件事,我会有五个不同的控制器,但我在这里遇到了一个问题(Stackoverflow),它说的是只有一个控制器,然后是多个解析器。我想知道什么是正确的方法 以下是指向上述问题的链接:Spring MVC 3.0控制器和解析器,spring,spring-mvc,Spring,Spring Mvc,如果有人能分享他们对此的想法,我将不胜感激。我不熟悉Spring,但对MVC并不陌生。然而,我与MVC的接触主要是在事情的前端 假设我有一个采用SpringMVC Framework 3.0的动态站点,该站点有5个链接,例如: 家庭|家庭|喜剧|恐怖|动作 每个链接都将查询数据库并显示信息。如果我要通过MVC框架为前端做这件事,我会有五个不同的控制器,但我在这里遇到了一个问题(Stackoverflow),它说的是只有一个控制器,然后是多个解析器。我想知道什么是正确的方法 以下是指向上述问题的链
这取决于每个链接背后有多少逻辑。如果每个控制器中只有一个映射,则可以使用单个控制器 也就是说,当我只做像您这样的小项目时,我仍然更喜欢使用单独的控制器
另一方面,如果您的项目扩展,您可能最终会拥有大量的控制器,而这些控制器的作用不大。在这种情况下,您可以从一开始就对控制器进行分组,这样就可以对逻辑面几乎相等的类似控制器进行分组。这取决于每个链接后面有多少逻辑。如果每个控制器中只有一个映射,则可以使用单个控制器 也就是说,当我只做像您这样的小项目时,我仍然更喜欢使用单独的控制器
另一方面,如果您的项目扩展,您可能最终会拥有大量的控制器,而这些控制器的作用不大。在这种情况下,您可以从一开始就对控制器进行分组,以便对具有几乎相同逻辑面的类似控制器进行分组。应用程序中的控制器数量取决于项目的范围。如果您有固定的要求,并且操作的数量有限,那么您可以使用单个控制器来处理您的所有请求 但若您的需求并没有固定,或者将随着应用程序版本的增加而增加,那个么您必须为单独的模块使用单独的控制器。这样,将来您可以轻松地管理应用程序代码
为了更好地维护代码,我更愿意为每个模块使用单独的控制器 应用程序中控制器的数量取决于项目的范围。如果您有固定的要求,并且操作的数量有限,那么您可以使用单个控制器来处理您的所有请求 但若您的需求并没有固定,或者将随着应用程序版本的增加而增加,那个么您必须为单独的模块使用单独的控制器。这样,将来您可以轻松地管理应用程序代码
为了更好地维护代码,我更愿意为每个模块使用单独的控制器 正如Jaanas所说,这实际上取决于您如何检索每个链接的数据,以及生成的页面是基于相同的数据模型和模板(JSP),还是完全不同 我倾向于为“主页”使用一个单独的控制器,但如果其他页面只是查询数据库,我会从一个控制器开始为它们提供服务
尝试用REST原则来思考页面也是一个好主意。一旦您开始从REST URI的角度看到链接,那么各种URI是放在同一个控制器中还是放在单独的控制器中的决定就显而易见了。例如,如果“family”的URI是
/movie/genre/family
,那么很明显,所有4个链接都应该进入GenreController
类(或者MovieController
类,使用/genre
方法用a捕获类别)。正如Jaanas所说,这实际上取决于您如何检索每个链接的数据,以及生成的页面是基于相同的数据模型和模板(JSP)还是完全不同
我倾向于为“主页”使用一个单独的控制器,但如果其他页面只是查询数据库,我会从一个控制器开始为它们提供服务
尝试用REST原则来思考页面也是一个好主意。一旦您开始从REST URI的角度看到链接,那么各种URI是放在同一个控制器中还是放在单独的控制器中的决定就显而易见了。例如,如果“family”的URI是/movie/genre/family
,那么很明显所有4个链接都应该放在GenreController
类中(或MovieController
类,其中/genre
方法用a捕获类别)