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.

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

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

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

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

你怎么说这个?

解决方法

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

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

原文链接:https://www.f2er.com/java/121851.html

猜你在找的Java相关文章