Java EE FrontController与Spring的DispatcherServlet相同

前端之家收集整理的这篇文章主要介绍了Java EE FrontController与Spring的DispatcherServlet相同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果查看 Java EE FrontController序列图,Controller会将请求委托给Dispatcher,文档说:

A dispatcher is responsible for view management and navigation,
managing the choice of the next view to present to the user,and
providing the mechanism for vectoring control to this resource.

@H_502_7@

在Spring MVC中,DispatcherServlet充当FrontController(如Craig Walls一书中所述),此Servlet将请求委托给其他控制器,后者又调用适当的Service类(用于处理请求),然后将ModelAndView的实例返回给DispatcherServlet再次.

所以大致这是请求通常的旅行方式:

客户 – > DispatcherServlet – >控制器 – >服务 – > DAO

如果将此流与Java EE FrontController模式序列图进行比较,则看起来DispatcherServlet不是真正的FrontController.

你怎么说这个?

解决方法

我会说DispatcherServlet填充前端控制器和调度程序的卷.但是,不是直接委托给视图,DispatcherServlet委托给另一个控制器.这使您可以更好地将演示文稿与业务逻辑分开.在“纯”前端控制器范例中,您可能必须为视图添加一些业务逻辑.

简而言之,DispatcherServlet实现了与Front Controller模式相同的目标.但它确实允许您向调度程序添加另一层控制器,从而略微偏离它.我认为这是件好事.

猜你在找的Java相关文章