加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java EE FrontController与Spring的DispatcherServlet相同

发布时间:2020-12-14 05:38:47 所属栏目:Java 来源:网络整理
导读:如果查看 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
如果查看 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模式相同的目标.但它确实允许您向调度程序添加另一层控制器,从而略微偏离它.我认为这是件好事.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读