当前位置:首页 > 前端设计 > 正文

springmvc执行,Java mvc

springmvc执行,Java mvc

大家好,今天小编来为大家解答springmvc执行这个问题,Java mvc很多人还不知道,现在让我们一起来看看吧!mvc操作流程SpringMVC工作流程描述:1.用...

大家好,今天小编来为大家解答springmvc执行这个问题,Java mvc很多人还不知道,现在让我们一起来看看吧!

mvc操作流程

SpringMVC工作流程描述:

1.用户向服务器发送请求,请求被Spring前端控制ServeltDispatcherServlet捕获;

2.DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;

3.DispatcherServlet根据获得的Handler,选择一个合适的HandlerAdapter;

4.提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。

在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

HttpMessageConveter:将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息。

数据转换:对请求消息进行数据转换。如String转换成Integer、Double等。

数据根式化:对请求消息进行数据格式化。如将字符串转换成格式化数字或格式化日期等。

数据验证:验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中。

5.Handler执行完成后,向DispatcherServlet返回一个ModelAndView对象;

6.根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet;

7.ViewResolver结合Model和View,来渲染视图;

8.将渲染结果返回给客户端。

springmvc参数封装原理

(1)前端控制器DispatcherServlet(配置即可)

功能:中央处理器,接收请求,自己不做任何处理,而是将请求发送给其他组件进行处理。DispatcherServlet是整个流程的控制中心。

(2)处理器映射器HandlerMapping(配置即可)

功能:根据DispatcherServlet发送的url请求路径查找Handler

常见的处理器映射器

:BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping,

ControllerClassNameHandlerMapping,DefaultAnnotationHandlerMapping(不建议使用)

(3)处理器适配器HandlerAdapter(配置即可)

功能:按照特定规则(HandlerAdapter要求的规则)去执行Handler。

通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展多个适配器对更多类型的处理器进行执行。

常见的处理器适配器

:HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter,AnnotationMethodHandlerAdapter

(4)处理器Handler即Controller(程序猿编写)

功能:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler。

(5)视图解析器ViewReslover(配置即可)

功能:进行视图解析,根据逻辑视图名解析成真正的视图。

ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

springmvc框架提供了多种View视图类型,如:jstlView、freemarkerView、pdfView...

(6)视图View(程序猿编写)

View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)

springmvc 多步流程

工作流程(12步)

1.DispatcherServlet(前端控制器)接收用户的请求;

2.DispatcherServlet调用HandlerMapping(处理器映射器),找到合适的Handler;

3.HandlerMapping(处理器映射器)返回HandlerExecutionChain(合适的Handler的位置)给DispatcherServlet;

4.发送请求到HandlerAdapter(处理器适配器)(打一个比方:家用电的电压为220V,我们的电脑或手机所需要的电压各不相同,所以就需要有电源适配器来起到桥梁作用,这里的处理器适配器也是同样的作用);

5.HandlerAdapter(处理器适配器)将请求交给Handler(处理器)去执行;

6.Handler(处理器)执行请求,并将处理后的结果封装成为一个ModelAndView对象,返回给HandlerAdapter(处理器适配器);

7.HandlerAdapter(处理器适配器)将ModelAndView对象返回给DispatcherServlet;

8.DispatcherServlet调用InternalResourceViewResolver(视图解析器)请求视图解析;

9.InternalResourceViewResolver(视图解析器)解析视图后返回给DispatcherServlet;

10.DispatcherServlet请求渲染视图;

11.View(视图)将渲染好的视图返回给DispatcherServlet;

12.DispatcherServlet响应用户的请求。

spring mvc原理详解

SpringMVC运行原理

1.客户端请求提交到DispatcherServlet

2.由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller

3.DispatcherServlet将请求提交到Controller

4.Controller调用业务逻辑处理后,返回ModelAndView

5.DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图

6.视图负责将结果显示到客户端

springmvc原理及流程

第一步:用户发起请求到前端控制器(DispatcherServlet)

第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找

第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)

第五步:处理器适配器去执行Handler

第六步:Handler执行完给处理器适配器返回ModelAndView

第七步:处理器适配器向前端控制器返回ModelAndView

第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

第九步:视图解析器像前端控制器返回View

第十步:前端控制器对视图进行渲染

第十一步:前端控制器向用户响应结果

关于springmvc执行,Java mvc的介绍到此结束,希望对大家有所帮助。

最新文章