Spring Mvc兵器百解

Spring Mvc

组件

  • DispatcherServlet:Spring Mvc中的前端控制器,是整个流程控制的核心,负责接收请求转发给对应的的处理组件。
  • Handler :处理器,完成具体业务逻辑,相当于 Servlet 或 Action。
  • HandlerMapping :完成 URL 到 Controller 映射, DispatcherServlet 通过 HandlerMapping 将不同请求映射到不同 Handler。
  • HandlerInterceptor :处理器拦截器,是⼀个接⼝,如果需要完成⼀些拦截处理,可以实现该接口。
  • HandlerExecutionChain :处理器执⾏链,包括两部分内容: Handler 和 HandlerInterceptor。
  • HandlerAdapter :处理器适配器, Handler执⾏业务⽅法前需要进⾏⼀系列操作,包括表单数据验
    证、数据类型转换、将表单数据封装到JavaBean等,这些操作都由 HandlerAdapter 完成。
    DispatcherServlet 通过 HandlerAdapter 来执⾏不同的 Handler。
  • ModelAndView :装载模型数据和视图信息,作为 Handler 处理结果返回给 DispatcherServlet。
  • ViewResolver :视图解析器, DispatcherServlet 通过它将逻辑视图解析为物理视图,最终将渲染的
    结果响应给客户端。

相关注解

  • @Controller :在类定义处添加,将类交给IoC容器管理。
  • @RequtestMapping :将URL请求和业务⽅法映射起来,在类和⽅法定义上都可以添加该注
    解。其中:value 属性指定URL请求的实际地址,是默认值。 method 属性限制请求的⽅法类型,包括GET、POST、 PUT、 DELETE等。如果没有使⽤指定的请求⽅法请求URL,会报405 Method Not Allowed 错误。 params 属性限制必须提供的参数,如果没有会报错。
  • @RequestParam :如果 Controller ⽅法的形参和 URL 参数名⼀致可以不添加注解,如果不⼀致可以使⽤该注解绑定。 value 属性表示HTTP请求中的参数名。 required 属性设置参数是否必要,默false。 defaultValue 属性指定没有给参数赋值时的默认值。
  • @PathVariable : Spring MVC ⽀持 RESTful ⻛格 URL,通过 @PathVariable 完成请求参数与形参
    的绑定。

处理流程

1.Web容器启动会通知Spring初始化容器,然后遍历bean获取每一个Controller中访问方法的URL,将URL和对应的Controlelr保存到一个map中。
2.所有的请求都会转发给DispatcherServlet前端处理器处理,DispatcherServlet会请求HandlerMapping找出容器中被**@Controller注解修饰的Bean以及被@RequestMapping修饰的方法和类,生成HandlerHandlerInterceptor并以一个HandlerExcutionChain处理器执行链的形式返回。
3.DispatcherServlet使用
Handler找到对应的HandlerApapter**,通过HandlerApapter调用Handler的方法,将请求参数绑定到方法的形参上,实行方法处理请求并得到ModelAndView.
4.最后DispatcherServlet使用ViewResolver视图解析器对得到的ModelAndView逻辑视图进行即系得到 View物理视图,然后对视图渲染,将数据填充到视图中并返回给客户端。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值