SpringMVC简记

SpringMVC简述

  • 本质是对servlet的封装
  • 全局只有一个servlet---->DispatcherServlet(前端控制器),相当于包工头的角色,专门进行派活

SpringMVC处理流程

在这里插入图片描述

流程说明

  1. ⽤户发送请求⾄前端控制器DispatcherServlet
  2. DispatcherServlet收到请求调⽤HandlerMapping处理器映射器
  3. 处理器映射器根据请求Url找到具体的Handler(后端控制器),⽣成处理器对象及处理器拦截 器(如果 有则⽣成)⼀并返回DispatcherServlet
  4. DispatcherServlet调⽤HandlerAdapter处理器适配器去调⽤Handler
  5. 处理器适配器执⾏Handler
  6. Handler执⾏完成给处理器适配器返回ModelAndView
  7. HandlerAdapter向前端控制器返回 ModelAndView,ModelAndView 是SpringMVC 框架的⼀个 底层对 象,包括 Model 和 View
  8. 前端控制器请求视图解析器去进⾏视图解析,根据逻辑视图名来解析真正的视图。
  9. 视图解析器向前端控制器返回View
  10. 前端控制器进⾏视图渲染,就是将模型数据(在 ModelAndView 对象中)填充到 request 域
  11. 前端控制器向⽤户响应结果

SpringMVC 九大组件

  • HandlerMapping(处理器映射器):存储的是URL和Handler的映射关系,哪一个Handler处理哪一个URL在这里进行维护;在请求到达后,HandlerMapping的作用便是找到请求相应的处理器Handler和Interceptor。
  • HandlerAdapter(处理器适配器):因为Spring MVC中Handler可以是任意形式的,只要能处理请求即可。但是把请求交给Servlet的时候,由于Servlet的方法结构都是doService(HttpServIetRequest req,HttpServIetResponse resp)形式的,要让固定的Servlet处理方法调用Handler来进行处理,便是HandIerAdapter的职责。
  • HandlerExceptionResolver(异常处理)
  • ViewResolver(视图解析器)
  • RequestToViewNameTranslator:从请求域中获取ViewName
  • LocaleResolver:国际化
  • ThemeResolver:主题设置
  • MultipartResolver:文件上传
  • FlashMapManager:FlashMap 用于重定向的参数传递
请求参数绑定

在这里插入图片描述
绑定pojo类型参数:直接声明形参,传递的参数名称需跟pojo属性名保持一致

绑定pojo包装类型:同上,不过定位数据项的时候,要通过属性名 + “.”的方式进一步锁定数据

//Example:
public class Add{
    private String mail;
    private String phone;
    private User user;
    //省略get/set方法
}
//前端页面
<a href="/handle?user.id=1&user.name=aaa">点击获取</a>
 //后端逻辑
  @RequestMapping("/handle")
  public ModelAndView handle(Add add){
    //system.out.println(add);
}

绑定日期类型参数:自定义转换器,然后在SpringMVC中注册即可使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值