SpringMVC

SpringMVC大致脉络图:

RequestProcessorChain:

  参照的是之前学习Spring的时候经常遇到的责任链模式的后置处理器。该类中保存了RequestProcessor的多个实现类,之所以会有多个不同的实现类是因为DispatcherServlet是项目中所有请求的唯一入口,这些请求中即会有获取JSP页面的请求也会有获取静态资源的请求,同时还会有直接获取json数据的请求等等。针对不同的资源请求会使用不同的RequestProcessor处理。在RequestProcessor矩阵里面会按照顺序依次去执行他们。

RequestProcessor矩阵:

  PreRequestProcessor:该处理器主要负责对请求的编码以及路径作一些前置性的处理。是一个必须要执行的处理器

  StaticResourceRequestProcessor:该处理器主要负责对静态资源请求,如图片、css、js等资源的请求进行处理

  JspRequestProcessor:该处理器主要负责对JSP页面的访问请求进行处理(如果不经过Contoller方法的转发直接访问某个jsp页面,相关的请求就是该类处理)

  ContollerRequestProcessor:该处理器主要负责对将请求派发到对应的Contoller方法里进行处理

Render矩阵:处理器链执行完之后呢(当请求处理成功后),就会调用特定的实现了ResultRender接口的实现类,对处理结果进行展现

  DefaultResultRender:如果用户只需要返回一个成功的状态码,则可以选择该Render进行渲染

  JsonResultRender:如果用户发生的请求是想要获取json格式的返回结果,则可以选择该Render进行渲染

  ViewResultRender:针对页面的渲染需求,则可以选择该Render进行渲染(类似modelAndView对象)

  InternalErrorResultRender:针对程序的异常,需要有专门的内部异常渲染器对结果进行处理,则可以选择该Render进行渲染

  ResourceNotFoundResultRender:针对请求资源无法找到的情况,则可以选择该Render进行渲染

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kerry_x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值