Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EE FrontController Vs Spring';s DispatcherServlet_Spring_Spring Mvc_Design Patterns_Model View Controller - Fatal编程技术网

Java EE FrontController Vs Spring';s DispatcherServlet

Java EE FrontController Vs Spring';s DispatcherServlet,spring,spring-mvc,design-patterns,model-view-controller,Spring,Spring Mvc,Design Patterns,Model View Controller,如果您查看序列图,控制器会将请求委托给Dispatcher,文档中会说: 调度员负责视图管理和导航, 管理要呈现给用户的下一个视图的选择,以及 提供将控制矢量化到此资源的机制 在SpringMVC中,DispatcherServlet充当FrontController(如Craig Walls在书中所述),该Servlet将请求委托给其他控制器,这些控制器反过来调用相应的服务类(用于处理请求)然后再次将ModelAndView的实例返回到DispatcherServlet 所以大致上这就是请求通

如果您查看序列图,控制器会将请求委托给Dispatcher,文档中会说:

调度员负责视图管理和导航, 管理要呈现给用户的下一个视图的选择,以及 提供将控制矢量化到此资源的机制

在SpringMVC中,
DispatcherServlet
充当FrontController(如Craig Walls在书中所述),该Servlet将请求委托给其他控制器,这些控制器反过来调用相应的服务类(用于处理请求)然后再次将
ModelAndView
的实例返回到
DispatcherServlet

所以大致上这就是请求通常的传播方式:

客户端->调度服务器->控制器->服务->DAO

如果将此流与模式序列图进行比较,则显示
DispatcherServlet
不是真的


您对此有何看法?

我想说,DispatcherServlet将填充前控制器和调度器的卷。然而,DispatcherServlet并没有直接委托给视图,而是委托给另一个控制器。这使您能够更好地将演示文稿与业务逻辑分开。在“纯”前端控制器范例中,您可能需要向视图添加一些业务逻辑

简而言之,DispatcherServlet实现了与前端控制器模式相同的目标。但它允许您向dispatcher添加另一层控制器,这与它略有不同。我认为这是一件好事