(笔记D2) Spring MVC 框架处理流程

2-1 使用 Spring MVC 框架提供的分派器(Dispatcher Servlet), 处理请求流程

Dispatcher Servlet 类别 :

Package (套件) : org.springfromework.web.servlet。

MVC 架构支援1个 Web 应用程式可设定多个 Dispatcher Servlet。

每个 Dispatcher Servlet 都可载入独立 Spring 设定档, 形成独立 Spring Bean Container (就是 Web Application Context 物件), 且 Bean 不与其他 Dispatcher Servlet 共用。

Dispatcher Servlet 会优先从自己的 Web Application Context 物件内寻找需要的 Bean 元件, 若找不到则会讲寻找任务交给 Root Web Application Context 物件。
<Root Web Application Context : 设定 Service、DAO等元素并使用 Context Loader Listener 载入而产生的 Bean Container>
http://img2.58codes.com/2024/20142439ZXrL0ZtnLK.png
http://img2.58codes.com/2024/20142439z1q0ftow3r.png

Spring Web MVC 架构在初始化 Dispatcher Servlet 时, 预设寻找 /WEB-INF/-servlet.xml 的档案, 产生档案中的 Bean 元件并覆盖 Root Web Application Context 同名的 Bean 元件。

其中是 web.xml 内 Dispatcher Servlet 的 标籤设定值

可在 Dispatcher Servlet 的标籤内, 使用标籤以及 context Config Location 更换档案名称与目录。

**修改 Dispacher Servlet 使用的 Spring 组态设定档预设档名 : **
http://img2.58codes.com/2024/20142439hMucIAZxBJ.png

Dispacher Servlet 的初始化会产生一系列特殊 Bean 元件 :

Handler Mapping、View Resolver等, 让 Dispacher Servlet 处理 HTTP Request 以及产生 View 提供显示画面使用。

预设的特殊 Bean 元件定义在 org.springfromework.web.servlet 套件的 Dispacher Servlet.properties 档。

当-servlet.xml 组态设定档, 设定任何1个特殊 Bean 元件(Handler Mapping、View Resolver), 预设的特殊 Bean 元件就被忽略。

为 Spring Web MVC 架构核心, 实作 Front Controller 设计模式的主要元件

Dispacher Servlet 的基本流程 :
1. 负责拦截 HTTP Request 的动作(都要经过它)。
2. 根据 Handler Mapping 的注册资料, 取得需要执行的 Controller 元件。
3. 呼叫 Controller 元件处理 HTTP Request 并取得 Controller 元件的回传值 Model And View。
4. 根据 View Resolver 注册资料取得要导向的 View 元件。
5. 将 HTTP Request 导向显示的 View 元件。

2-2 前端控制器模式(Front Controller Pattern)

是一个集中管理请求处理机制, 所有请求都交由一个单一处理程式负责, 此处里程式可以完成相关验证、授权、追蹤或者记录log等请求(Request)并将请求交由对应的程式处理。前端控制器(Front Controller) : 负责处理应用程式所有请求的单一处理程式, 可应于 Web 应用程式或 GUI 视觉化界面的应用程式。排程器(Dispacher) : 前端控制器可使用转发物件执行相关请求到对应的处理程式。检视(View) : 用来提供请求(Request)显示对应功能所建立的物件。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章