Java 什么是FrontController设计模式?DispatcherServlet使用它的级别是多少?
实际上,我试图理解DispatcherServlet,并了解到它遵循FrontController设计模式。 在试图理解FrontController设计模式时,遇到了此链接 由于我是初学者,所以不太容易理解,但我很少像下面这样理解 如果我们没有FrontController,我们通常会尝试在多个控制器(如身份验证和授权)中复制代码。因此,如果我们想在将来改变某些东西,可维护性就成了一个大问题。因此,有了frontController,我们可以将基本功能移动到frontController,并且可以轻松地进行更改 当我在采访中解释同样的事情时,他问我这些基本功能是什么。我告诉了内部化、VIEW解析器、身份验证、授权等,现在再次询问,像没有调度器Servlet一样,你如何处理每个控制器中的这些功能? 由于我基本上是一名桌面应用程序开发人员,我无法回答他的下一个问题 下面是我的问题Java 什么是FrontController设计模式?DispatcherServlet使用它的级别是多少?,java,spring,spring-mvc,design-patterns,front-controller,Java,Spring,Spring Mvc,Design Patterns,Front Controller,实际上,我试图理解DispatcherServlet,并了解到它遵循FrontController设计模式。 在试图理解FrontController设计模式时,遇到了此链接 由于我是初学者,所以不太容易理解,但我很少像下面这样理解 如果我们没有FrontController,我们通常会尝试在多个控制器(如身份验证和授权)中复制代码。因此,如果我们想在将来改变某些东西,可维护性就成了一个大问题。因此,有了frontController,我们可以将基本功能移动到frontController,并且
您可以做一些事情,比如实现一个单独的服务,来完成这些常见的事情(交叉关注点)例如,您可以协调所有传入的请求。前端控制器设计模式意味着,应用程序中针对资源的所有请求都将由单个处理程序处理,然后发送到该类型请求的相应处理程序。前端控制器可以使用其他助手来实现调度机制 前端控制器设计模式可以通过以下两种方式之一实现
让我们检查Dispatcher Servlet的功能,看看它是否正是前端: 请考虑下面的图表: 正如您在上图中所看到的,前面的控制器是为 MVC模式。它实现为
javax.servlet.servlet
servlet,例如struts中的ActionServlet、JSF中的FacesServlet和SpringMVC中的DispatcherServlet
。它处理传入的请求,并将请求委托给
特定应用程序控制器。该应用程序控制器创建和更新模型,并将其委托给前端控制器进行渲染。最后,前端控制器确定特定视图,并渲染该模型数据
<强>现在考虑步骤为:< /强>
与其他基于java的web应用程序一样简单的servlet类。这是个幌子
SpringMVC框架的控制器,并将所有传入的请求导入
通过单点。SpringMVC框架将请求集中化
使用此前端控制器进行流量控制