2016 - 2024

感恩一路有你

springmvc的请求处理流程 springmvc参数封装原理?

浏览量:1760 时间:2023-07-05 12:55:17 作者:采采

springmvc参数封装原理?

(1)前端控制器DispatcherServlet(配置再试一下)

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

(2)处理器映射器HandlerMapping(配置去掉)

功能:据DispatcherServlet正在发送的url各位路径查找Handler

常见的处理器映射器

:BeanNameUrlHandlerMapping,SimpleUrlHandlerMapping,ControllerClassNameHandlerMapping,DefaultAnnotationHandlerMapping(不个人建议使用)

(3)处理器适配器HandlerAdapter(配置表就行)

功能:明确的某个特定规则(HandlerAdapter要求的规则)去想执行Handler。

按照HandlerAdapter对处理器参与先执行,这是适配器模式的应用,是从储存多个适配器对更大类型的处理器接受不能执行。

较常见的处理器适配器

:HttpRequestHandlerAdapter,SimpleControllerHandlerAdapter,AnnotationMethodHandlerAdapter

(4)处理器Handler即Controller(程序猿c语言设计)

功能:c语言设计Handler时按照HandlerAdapter的要求再去做,这样的适配器才也可以去错误的想执行Handler。

(5)视图推导器ViewReslover(配置再试一下)

功能:参与视图解析,参照逻辑视图名解析成唯一的视图。

ViewResolver共同负责将处理结果生成沉淀View视图,ViewResolver是需要根据逻辑视图名解析成物理视图名即具体看的页面地址,再能生成View视图对象,之后对View进行软件渲染将处理结果页面展示给用户。

springmvc框架能提供了含有View视图类型,如:jstlView、freemarkerView、pdfView...

(6)视图View(程序猿汇编语言)

View是一个接口,利用类接受不同的View类型(jsp、freemarker、pdf...)

如何理解spring webflux的“非阻塞”?

题主估计听说下面这些名词:

-会堵塞IO

-非会堵塞IO

-同步IO

-异步运行IO

-同步堵塞IO

-同步非阻塞IO

-异步造成堵塞IO

-同步异步非阻塞住IO

如果能表述了这些,你就能再理解webflux的非阻塞住了!

IO

一个IO操作当然有两个步骤:率先发动IO请求和实际的IO能操作

阻塞住IO和非阻塞IO的区别在于另一个步骤是否阻塞:发起攻击IO帮忙有无会被阻塞,如果不是阻塞直到此时完成那就是现代的堵塞IO;如果不是不阻塞,那么就是非造成堵塞IO

歌词同步IO和同步异步IO的区别就在于第二个步骤如何确定阻塞:如果没有实际中的IO读写阻塞只是请求进程,那就就是歌词同步IO,并且堵塞IO、非阻塞住IO、IO复用、信号驱动IO全是歌词同步IO;如果没有不阻塞,只不过是操作系统帮你完了以后IO操作再将结果直接返回给你,那你就是同步异步IO

举个不太更贴切的例子:例如你家网络断了,你打去电信报修!

-你拨号连接---客户端直接连接服务器

-通了---连接上确立

-你知道:“我家网断了,帮我修下”---发送消息

-说完你就在那里等,这样的话那是阻塞IO

-要是倒是你有事,你搁下,然后再全面处理其他事情了,过半天你来问下,修好后了没---那就是非堵塞IO

-如果客服说:“立刻帮你全面处理,你稍等”---同步IO

-要是客服说:“立玄帮你全面处理,再说安排你”,接着挂了---异步IO

回到问题SpringMVC5以前,一个只是请求过去后的流程大概情况是这样的:

服务端能接收到只是请求,从线程池资源一个线程来一次性处理

线程如何处理完成后,直接返回数据

线程被释放回线程池中

可以看见,当一个各位过来后,所有的处理结束后才有可能我得到做出反应。

Webflux实现Reactor模型,一个主从Reactor模型如下图:

主Reactor主要用于服务控制器连接上帮忙,接收到帮忙后就分配一个channel,然后把就做出反应客户端

从Reactor主要用于去处理IO操作各位,可是不处理具体详细逻辑

具体详细逻辑由工作线程去一次性处理。工作线程全面处理能完成后再去通知响应。

IO 视图 功能 Handler 处理器

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。