springMvc

南笙酒味 提交于 2019-12-05 17:58:32

spring Web Mvc是基于Servlet Api构建的原始Web框架,从一开始就包含在spring框架下,其正式名称“Spring Web Mvc”来自它的源模块(Spring-webmvc)的名称,但它更常见的名称是的“Spring MVC".

一、springMvc 本质上还是在使用servle处理,并在其基础上进行了封装简化了开发流程,提高易用性,并使应用程序逻辑结构变得更清晰。

1 基于注解的  URL映射

2 http表单参数转换

3 全局统一异常处理

4 拦截器的实现

 

二、各组件执行流程

dispatchSevlet 前端控制器 接受客户端的请求 --> HandlerMapping --> HandlerAdapter  --> handler  执行业务处理 ---> viewResolver  基于view Name查找view ---> view  执行试图解析

 

HandlerMapping :基于URL查找Handler, 返回HandlerExecutionChain(包括handler和interceptorList)

HandlerAdapter  :处理适配器, 基于Handler查找适配器

 

HandlerExceptionResolver 异常解析器

接口方法ModelAndView resolveException(HttpServletRequest var1, HttpServletResponse var2, @Nullable Object var3, Exception var4);实现统一异常处理返回ModelAndView

 HandlerInterceptor  拦截器

三个方法

//前置拦截器

default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {    return true;}在preHandle和postHandle之间执行handlerAdapter
// 后置拦截器default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {}// 完成之后调用default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!