首页 > 编程知识 正文

mvc运行流程,springmvc底层原理

时间:2023-05-06 11:47:47 阅读:111487 作者:647

Springmvc

1 SpringMVC体系结构

1.1架构图

1.2体系结构流程图

用户向前端控制器dispatcher servlet发送请求;

dispatcher servlet接收请求并调用HandlerMapping处理器映射器;

处理器映射器根据请求url找到具体的处理器,生成处理器对象,如果有处理器拦截,则生成并返回dispatcher servlet;

dispatcher servlet从HandlerAdapter处理器适配器调用处理器。

执行处理器(也称为控制器、后端控制器;

控制器运行完成后,返回ModelAndView并传递给HanderAdapter处理器适配器;

HandlerAdapter将控制器的执行结果ModelAndView返回到dispatcher servlet;

dispatcher servlet将ModelAndView传递到ViewReslover视图解析器;

ViewReslover分析后,将具体的View返回到dispatcher servlet;

dispatcher servlet渲染视图。 也就是说,在视图中输入模型数据。

dispatcher servlet会响应用户

1.3组件说明

dispatcher servlet :前端控制器

当用户请求到达前控制器时,它相当于mvc模式中的C。 dispatcher servlet是整个过程的控制中心,它调用其他组件来处理用户的请求。 dispatcher servlet的存在会降低组件之间的耦合性。

在创建DispathcerServlet作为springmvc的中央调度程序时,DispathcerServlet缺省用于从dispatcher servlet.properties文件加载springmvc 如果通过springmvc.xml分配

元件相对于放置在springmvc.xml中的元件。

硬件映射:处理器映射程序

HandlerMapping负责根据用户的请求url找到Handler处理器。 springmvc提供了各种映射器来实现各种映射方法,包括性能分析方法、接口方法和注释方法。

HandlerMapping负责根据请求找到相应的Handler处理器和拦截器,将它们封装到HandlerExecutionChain对象中并返回给前端控制器

硬件:处理器

Handler是继dispatcher servlet前端控制器之后的后端控制器,Handler在dispatcher servlet控件下处理特定的用户请求。

由于Handler涉及特定用户的业务要求,一般程序员需要根据业务需求开发Handler。

HandlAdapter :处理器适配器

使用硬件适配器运行处理器。 这是适配器模式APP应用程序,使用扩展适配器可以运行更多类型的处理器。

视图解析器:视图解析器

View Resolver在View视图中生成处理结果。 View Resolver首先根据逻辑视图名称解析为物理视图名称即具体页面地址,然后生成View视图对象,最后渲染View并通过页面向用户呈现处理结果。 springmvc框架提供了许多视图类型,包括jstlView、freemarkerView和pdfView。

一般来说,页面标签和页面模板技术需要模型数据通过页面展现给用户,程序员需要根据业务需求开发具体的页面。

2 SpringMVC开发配置

2.1部署基本jar包

2.2web.XML配置

2.2.1前端控制器的配置

用WEB INF web.xml配置前端控制器。 dispatcher servlet是一个servlet。

springmvc

org.spring framework.web.servlet.dispatcher servlet

上下文配置

classpath:springmvc.xml

1

springmvc

*.action

注:

1、contextconfiglocation :指定spring MVC配置的加载位置,若未指定,则默认加

we B-INF/[ dispatcher servlet的servlet名称] -包含]-servlet.xml。

2.2.2 springmvc配置文件

此配置文件将放置在配置前端控制器中并进行配置加载。 必须在springmvc配置文件中配置处理器适配器、处理器映射器、处理器、视图解析器等

处理器适配器和处理器配置

注释方法:

在springmvc中,可以使用自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter执行以下操作

处理器配置,将Hander加载到spring容器中,可以进行单一加载,实际开发中使用组件扫描

单一加载:

组件扫描:

视图解析器设置

注:

内部资源管理器: JSP视图分析支持

viewClass:JstlView表示必须在JSP模板页中使用JSTL标记库。 因此,classpath必须包含JSTL的相关jar包。

prefix和suffix :搜索视图页的前缀和后缀。 最后一个视图的地址是前缀逻辑视图名称后缀。 逻辑视图名称必须在控制器中返回ModelAndView规范。 例如,如果逻辑视图名称是hello,则最终返回的jsp视图地址“web-INF/JSP/hello.jelo”

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。