Spring MVC实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,他 将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发。
Spring MVC框架是一个基于请求驱动的Web框架,它使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。使用Spring MVC前端无论是以何种方式请求,都会通过controller进行轻度处理、转发以及调度后端的处理器进行处理,最后返回正确的视图及响应。以此来看,springMVC说白了既可以返回合适的页面,也可以响应RESTful请求。
总共包含 8 篇文章
Spring MVC框架提供了构建 Web 应用程序的全功能 MVC 模块。它作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC,同时它分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制。
总共包含 5 篇文章
DispatcherServlet是前置控制器,配置在web.xml文件中的。本身主要用于控制流程,主要职责如下:
1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);
3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);
4、通过ViewResolver解析逻辑视图名到具体视图实现;
5、本地化解析;
6、渲染具体的视图等;
7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。
总共包含 11 篇文章
HandlerMapping是一个接口,也就是可扩展。它的作用就是根据不同的请求去匹配对应的Handler,也就是根据请求匹配一个请求处理器(HandlerMapping所说的handle,也就是我们写的Controller或是Action)。
HandlerMapping的使用主要分为两步:注册和查找。
1. 注册是根据配置文件中的配置将一个字符串和一个Controller类以
2. 查找就是HandlerMapping根据url中的的某个字段,在Map中以这个字段为key值对应的Controller类,并将 Controller类封装成一个HandlerExecutionChain对象,HandlerExecutionChain中除了有 Controller对象外,还有一组拦截器。
总共包含 9 篇文章
HandlerAdapter是处理器适配器,作用就是接过handlermapping解析请求得到的handler对象,在更精确的定位到能够执行请求的方法。它是SpringMvc处理流程的第二步,当HandlerMapping获取了定位请求处理器Handler,DispatcherServlet会将得到的Handler告知HandlerAdapter,HandlerAdapter再根据请求去定位请求的具体处理方法是哪一个。
总共包含 10 篇文章
本章节主要介绍常用的视图类,包括AbstractCachingViewResolver,UrlBasedViewResolver,XmlViewResolver,BeanNameViewResolver,InternalResourceViewResolver,ResourceBundleViewResolver,FreeMarkerViewResolver。
总共包含 5 篇文章
ModelAndView中包含了一个model属性和一个view属性,model其实是一个ModelMap类型,它是一个LinkedHashMap的子类,view包含了一些视图信息。ModelAndView本质上就是把传入给它的值加入到request对象中,然后在相对应的jsp中使用EL表达式将值取出来展示或处理。