Spring MVC
Details
基本controller编写
数据绑定
文件上传
JSON协同
中观层面,structure
了解数据流程,及 流程当中 各部分相互协作;
考虑哪些部分是需要配置,哪些是动手编码;
Big picture: MVC 核心思想是业务数据抽取同业务数据呈现相分离
11111
Spring MVC 数据处理流程:
request
-> DispatcherServlet
-> 加载 HandlerMapping,返回一个带有拦截器、处理器、ViewResolver的HandlerExecutionChain
-> 执行拦截器和处理器 -> 返回 ModelAndView
-> 将返回的 ModelAndView 交给 ViewResolver
-> 渲染页面
<- response
Spring MVC 核心思想
Details
MVC的核心思想是业务数据抽取同业务数据呈现相分离
SpringMVC的动态概念: 1.用户发送请求request 2.DispatcherServlet拦截request 就需要找到一个Controller 如何找? 3.DispatcherServlet就把功能代理给了HandlerMapping 4.HandlerMapping根据配置 通过annotation找到Controller也找到了HandlerInterceptor 形成了一个HandlerExcutionChain 作为一个Handler或者是HandlerAdapter返回给DispatcherServlet 5.DispatcherServlet调用这个Handler或者是HandlerAdapter(找到Controller,Controller目的:生成ModelAndView) 生成ModelAndView 并返回给DispatcherServlet 6.DispatcherServlet调用ViewResolver(视图解析器)方法 返回View对象给DispatcherServlet 7.DispatcherServlet调用ModelAndView作为模型数据传递给我们的View完成了呈现 返回给DispatcherServlet 8.DispatcherServlet再把视图响应给用户 --------------------------------------------- 1.DispatcherServlet,HandlerMaping 只需要配置 2.Handler/HandlerAdapter忽略掉 3.Controller需要自己写 4.HandlerInterceptor(Controller调用前后干点啥)是一个接口,需要就写不需要就不用实现 5.ModelAndView:只是一个类 也可以使用Map把需要的放进去就好了 6.ViewResolver和HandlerMapping差不多只需要知道使用那种类型就可以了 7.view:不需要管具体的呈现。只需要管是哪一个就好了
注释大全.
@RequestMapping 注解URL请求路径 @PathVariable 路径变量注解 @RequestParam 参数注解 @Controller 注解Control类 @ResquestBody 获取请求发过来的JSON数据 @ResponseBody 将数据以JSON格式返回 @ModelArrtibute 请求参数绑定方法参数 redirect/forward 请求重定向/请求转发 multiparResolver 视图解析器 enctype="multipar/form-data" 用于form表单 MutipartFile 其中multipart/form-data 是新增的编码类型,以提高二进制文件的传输效率 文件处理接口 ResponseEntity JSON返回值的另外一种方法
MVC模型
SpringMvc云图
Structure
Big Picture
Details
数据的抽取和呈现分离
responceEntiy 返回json 解析内容实现 view 和 controller 的组装
中观
SpringMVC思想