当前位置: 首页 > news >正文

微信公众号素材网站网站建设改革情况汇报

微信公众号素材网站,网站建设改革情况汇报,如何打开网页,wordpress放哪文章目录 1. 最经典的MVC的使用情况2. 经典情况相关的组件3. 执行3.1. 先看DispatcherServlet的总体过程3.2. 再看RequestMappingHandlerAdapter的总体过程3.2.1. RequestParamMethodArgumentResolver3.2.2. 反射调用 Controller 的方法3.2.3. RequestResponseBodyMethodProces… 文章目录 1. 最经典的MVC的使用情况2. 经典情况相关的组件3. 执行3.1. 先看DispatcherServlet的总体过程3.2. 再看RequestMappingHandlerAdapter的总体过程3.2.1. RequestParamMethodArgumentResolver3.2.2. 反射调用 Controller 的方法3.2.3. RequestResponseBodyMethodProcessor 4. 总结 本文以“最经典”的情况分析了 DispatcherServlet 处理请求的全部过程。通读全文读者应该对总体框架有一定的认识且要求今后能有能力把 mvc 的其他组件原理“嵌入到总体框架中”。 1. 最经典的MVC的使用情况 这个过程很长设计的到 web 组件很多所以需要以一个最常见的情况作为“经典情况”来简化分析过程。突破之后再在对总体流程和框架的基础上往上面新的补充内容。为了方便我讲解我以 “经典情况”是Controller 中的RequestMapping方法的参数贴了RequestParam注解返回值上贴了ResponseBody注解 搞完“经典情况”后续的其他 mvc 组件作者会一个一个的分析。 2. 经典情况相关的组件 RequestMappingHandlerMapping请求映射器 功能把请求 request 映射到 handler根据路径匹配 对应关系只要我们的 Controller 写的路径匹配上了请求就可以了假设匹配上。 HandlerMethod处理请求 功能具体处理请求的 对应关系对应是 Controller 中的方法 HandlerExecutionChain处理器链 功能等于“处理器” “匹配的拦截器” 对应关系这里就是等于“HandlerMethod 匹配到的拦截器MappedInterceptor” RequestMappingHandlerAdapter对HandlerExecutionChain 再次包装 记住反正就是由RequestMappingHandlerAdapter 开始执行的就可以了。 RequestParamMethodArgumentResolver参数解析器 功能专门处理 RequestParam 注解的 对应关系从请求 request 中解析出参数调用 ServletRequest的 getParameterValues方法 RequestResponseBodyMethodProcessor返回值处理器 功能专门刚好处理 ResponseBody注解。 3. 执行 3.1. 先看DispatcherServlet的总体过程 DispatcherServlet 的doDispatch方法的总体执行过程 getHandler1getHandlerAdapter2applyPreHandle3handle重点真正处理4applyPostHandle5 在1处得到 HandlerExecutionChain包含 HandlerMethod和 MappedInterceptor 在2处得到 RequestMappingHandlerAdapter 在3处执行MappedInterceptor的 preHandle方法 在4处执行 RequestMappingHandlerAdapter的 handler方法 在5处执行MappedInterceptor的 postHandle方法 3.2. 再看RequestMappingHandlerAdapter的总体过程 继续看 RequestMappingHandlerAdapter的 handler方法的总体过程 注意执行顺序是从左到右从上到下执行的 封装为ServletInvocableHandlerMethod1invokeAndHandle invokeForRequest getMethodArgumentValues解析参数 resolveArgument解析参数 getArgumentResolver得到“参数解析器”resolveArgument真正解析 doInvoke具体执行 handleReturnValue处理返回值 selectHandlerhandleReturnValue getModelAndView2 主要就只有 3 个关键过程上面已加粗说明 1、按 Controller 方法的要求解析参数。用的是 RequestParamMethodArgumentResolver 2、执行 Controller 方法。 3、处理 Controller 方法的返回值。用的是 RequestResponseBodyMethodProcessor 下面简单提一下其他过程按序号 在1处把真正的执行的组件HandlerMethod 一顿疯狂包装成ServletInvocableHandlerMethod 比如就包装了 web 数据绑定器WebDataBinder 在2处处理视图现在都是前后端开发不用视图技术了。作者不讲略自己搞。 3.2.1. RequestParamMethodArgumentResolver 支持的参数 在它的 supportsParameter 方法中表明了支持“参数上贴了RequestParam注解的参数” 执行解析参数 1、 调用RequestParamMethodArgumentResolver的resolveArgument方法 2、 会调用到RequestParamMethodArgumentResolver 的resolveName方法 3、会调用到解析文件的multipartRequest方法 和 从请求获取参数的 request.getParameterValues方法 4、解析之后还没有结束还需要转换成 Controller 方法需要的参数类型略这就是另外的小细节故事了 截止目前也就通过从请求中获取参数完成了 Controller 方法参数的解析 3.2.2. 反射调用 Controller 的方法 没什么好讲的反射调用 Controller 的方法。 3.2.3. RequestResponseBodyMethodProcessor 支持的类型 在supportsReturnType方法中表明了支持的类型是方法上ResponseBody注解 处理返回值 1、会调用到RequestResponseBodyMethodProcessor 的 handleReturnValue方法 2、会调用writeWithMessageConverters方法 3、最后直接调用“消息转换器”messageConverters把“返回值写到流里面去了” 注意既然既然写到响应流 response 里面去了响应就结束了后面的视图处理过程就没了。 4. 总结 读完全文读者要求掌握以下组件的工作情况。对细节不需要苛责但是一定要能知道** 组件的功能 **和 **组件在流程中的位置**。 RequestMappingHandlerMapping请求映射器HandlerMethod处理请求HandlerExecutionChain处理器链RequestMappingHandlerAdapter对HandlerExecutionChain 再次包装RequestParamMethodArgumentResolver参数解析器RequestResponseBodyMethodProcessor返回值处理器
http://www.dnsts.com.cn/news/110849.html

相关文章:

  • 中国著名的网站建设公司wordpress用什么空间 曹鹏
  • 珠海网站建设电话可信的邢台做网站
  • wix做网站的建议wordpress区域编辑器
  • 网站建设行业新闻wordpress免费搭建个人博客
  • 做零食的网站企业展厅建设重要性
  • 重庆正云环保建设网站网页设计和网页美工
  • 网站html静态化合肥的电商网站设计
  • 实验中心网站建设的调查问卷如何查看网站的服务器位置
  • 研发小程序成本网站seo优化的重要性
  • 开发网站和app广州网站设计专注乐云seo
  • 网站注册备案ppt怎么做
  • 网站的建设包括那几个模块仿煎蛋 wordpress 主题
  • 网站开发语言检测苏州保洁公司招聘信息
  • 长沙企业建站销售电话房产机构网站建设目标定位
  • 外贸业务怎么利用网站开发客户网络设计一般包括
  • 西安网站建设q.479185700強关键词上首页软件
  • 做app+的模板下载网站怎么做营销
  • 江苏省建设工程一站式申报网站网站搭建博客
  • 网站 会员系统 织梦十大经典营销案例
  • 公司网站建设推合同网站建设建站培训
  • 表白网站怎样做有创意wordpress百科插件
  • 做手机网站尺寸大小一个空间怎么放多个网站
  • 5 网站建设进度表WordPress有什么作用
  • 桌面上链接网站怎么做营销公司排行
  • 中国海员建设工会网站在淘宝做印刷网站怎么办
  • discuz可以做门户网站么go 网站开发
  • 自己的网站怎么做跳转wordpress怎么建淘宝客
  • 宝宝投票网站怎么做跨境电商千万别做亚马逊
  • 网站分为哪几种注册企业邮箱免费
  • 国内漂亮的企业网站wordpress性能检测