SpringMVC生命周期—整体视图

我是Spring的新手。

我希望验证对SpringMVC生命周期的以下理解,以便将它们放在整体视图中:

整个过程是请求驱动的。

有一个前端控制器模式,Spring

MVC中的前端控制器是DispatcherServlet。

根据用户的每个传入请求,Spring会按此处所述管理整个生命周期。

从总体上看,DispatcherServlet将请求分派到后端的服务控制器。完成此操作后,它会将其交给MVC的“视图”组件,以准备响应用户的视图。

更详细地说,

  • DispatcherServlet使用处理程序来决定“哪个控制器”来满足该请求。

  • 控制器应该是“轻量级的”(作为一种良好的设计实践,应与后端的服务过程分离),它们持有对服务的引用并调用正确的服务。他们的“任务”是控制服务过程以构建模型,并将其交还给调度程序以进行下一步。

  • View组件本身包含两部分:首先,ViewResolver为View选择正确的外观类型,以将模型转换为最终格式供用户使用。

从开发人员的角度来看,DispatcherServlet是一个幕后事物。我要做的就是在web.xml中定义和配置(如有必要)。作为开发人员,我实例化了ApplicationContext(有许多ApplicationContext类型-

我根据需要选择一种,通常是WebApplicationContext(?))。AplicationContext是使用.xml文件中的描述创建所有Servlet

/ bean(包括DispatcherServlet)的工厂。然后DispatcherServlet在幕后运行并管理整个过程-

使用注释或它们的.xml描述,视图,处理程序,验证器等来查找和获取控制器。

我想知道此说明是否成立-有效且完整,以及其中是否缺少大块内容。

提前致谢。

回答:

您的问题没有很好的答案。“可以”就可以了。

您可以使用xml文件或注释或两者的组合来配置spring。

您不需要使用Spring

MVC编写servlet,但是可以。通常,您可以(也许应该)创建控制器类(通过扩展Sp​​ring控制器类或使用@Controller注释标记一个类)。

控制器的“任务”是执行请求的必要处理。他们不只是“控制服务流程”

没有“交还”给调度员。

必须在web.xml文件中配置DispatchServlet,这决不是可选的。

您可以(也许应该)在控制器类和将从控制器类调用的任何Web服务之间建立一层。

您可以具有多个applicationContext或使用一个applicationContext。

通常,视图是一个JSP文件。

控制器应添加视图用来显示非静态信息的DTO(数据传输对象)。

我删除了对VO对象的提及,我(好像很多人一样)错误地将DTO和VO模式混为一谈。

没有“幕后”。DispatcherServlet接收请求,并将其传递到适当的控制器进行处理。

阅读Spring框架参考的第17节

以上是 SpringMVC生命周期—整体视图 的全部内容, 来源链接: utcz.com/qa/425588.html

回到顶部