首页 > 编程语言 > 详细

SpringMVC

时间:2021-03-04 23:12:49      阅读:37      评论:0      收藏:0      [点我收藏+]

 

 

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进行渲染

 

SpringMVC

原文:https://www.cnblogs.com/zcl1116/p/14483393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!