写点什么

springMVC

作者:想要飞的猪
  • 2023-12-01
    广东
  • 本文字数:651 字

    阅读完需:约 2 分钟

1、springMVC 的工作流程

前段发起请求 ---> DispatcherServlet --->通过 HandlerMapping 找到对应的处理链对象--->调用适配器执行 handlerAdapter--->返回对应的 ModleAndView--->经过 DispatcherServlet 返回给请求方。

2、Ajax 的请求原理

前段请求进来 会经过一个转换器 HttpMessageConverter(spirng 默认实现为 JackSon)把前段传递过来的 json 转换为 java 对象,请求完成后,写时把 java 对象转换为 json 字符串

3、Spring 与 SpringMVC 父子容器

  • 3.1、为什么需要父子容器? 就功能来说可以不用父子容器 ,比如 springBoot

  • 1)、所以父子容器主要有划分框架边界,service 与 dao 层 Spring 容器管理,controller 层交给 SpringMVC 管理

  • 2)、规范整体架构:父容器无法范文子容器,子容器可以访问父容器 如 service 如法访问 controller

  • 3)、方便框架切换 ,如由 springmvc 切换到 struts2,只需要切换 springMVC 容器的部分

  • 3.2、是否可以把所有的 springMVC 容器的 bean 交给 spring 容器管理?

不可以,在生成 HandlerMethods 时,根据名称拿到 Beandefinition 解析的 requestMapping,并没有调用父容器,所以如果托管给 Spring 容器管理,则会出现,请求找不到 404 的错误

  • 3.3、是否可以把所有的请求都给 SpringMVC 容器管理?

可以 父容器一般是获取子容器中获取不到的对象,所以放在一个容器中是可以的,但是一般不推荐这么做。【如果有 AOP 或者是事务,则需要把这部分放到 SpringMVC 容器中,不然一部分在 spring 容器中一部分在 SpringMVC 中 可能会导致 AOP 失效,当然事务也就会失效】


用户头像

还未添加个人签名 2020-06-05 加入

还未添加个人简介

评论

发布
暂无评论
springMVC_想要飞的猪_InfoQ写作社区