8.4SpringMVC相关知识

SpringMVC底层工作流程

四大核心组件、10个过程。

一、DispatchServlet

二、HandlerMapping

三、HadlerAdaptor

四、ViewResolver

 

1、浏览器发送HttpRequest请求给DispatchServlet(前端控制器)。

2、DispatchServlet转发对应的HttpRequest请求到HandlerMapping(处理器映射器)。

3、HandlerMapping根据对请求路径,找到负责处理该请求的Controller处理器。并将其封装为处理器执行链(HandlerExecutionChain)返回给DispatchServlet。

4、DispatchServlet根据处理器执行链中的处理器,找到能够执行该处理器的处理器适配器(HandlerAdaptor)。

5、处理器适配器则会调用并执行对应的Controller处理器。

6、Controller将处理结果及要跳转的视图封装到一个ModelAndView中,并返回给处理器适配器。

7、HandlerAdaptor 直接将 ModelAndView 交给 DispatcherServlet ,至此,业务处理完毕。

8、业务处理完毕后,我们需要将处理结果展示给用户。于是DisptcherServlet 调用 ViewResolver,将 ModelAndView 中的视图名称封装为视图对象

9. ViewResolver 将封装好的视图 (View) 对象返回给 DIspatcherServlet

10. DispatcherServlet 调用视图对象,让其自己 (View) 进行渲染(将模型数据填充至视图中),形成响应对象 (HttpResponse),最后结果展示在页面上。

SpringMVC的常用注解

@RequestMapping:请求路由

@PathVariable:

就是要获取url路径中的一部分值,具体用法:与@RequestMapping中的value的占位符:{id}配合使用,在请求路由下的那个业务方法使用@PathVariable动态获取url地址中的一部分值,以便下面的业务方法的逻辑代码使用。

   @RequestMapping(value = "/auditTaobao/{id}")

    public void doAuditTaobao(@PathVariable Integer id){

        taobaoService.auditTaobao(id);

    }

@RequestParam:

就是获取到url地址后面?请求携带的那个参数,具体用法:在请求路由下的那个业务方法的方法参数前面使用@RequestParam在以便下面的业务方法的逻辑代码使用。

@ResponseBody

表示该方法的返回结果直接写入HTTP response body中

一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。比如异步获取json数据,加上@responsebody后,会直接返回json数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值