Spring MVC(二)   第一章 Spring MVC参数绑定 第二章 Validation校验 第三章 数据回显 第四章 异常处理  第五章 图片上传 第五章 spring mvc 实现json数据交互 第六章 Spring MVC对RESTful的支持 第七章 Spring MVC拦截器


第一章 Spring MVC参数绑定

一、包装类型POJO参数绑定

    1. 实现方法:
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    2. 页面定义:
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器 controller方法形参的定义:
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

      包装类型:
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

二、数组绑定

  1. 表现层实现:
    关键:将页面选择的(多选)商品id,传到controller方法的形参,方法形参使用数组接收
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

三、List绑定 

  1. 关键
    使用List接收页面提交的批量数据,通过包装POJO接收,在包装POJO中定义List<pojo>属性
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

四、Map绑定

  Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


第二章 Validation校验

一、服务端校验

  1. 校验理解
    在项目中使用较多的是前端校验,比如页面中的js校验,对于安全要求较高的建议在服务端校验
    服务端校验:
    • 控制层Controller:校验页面请求的参数的合法性。在服务端控制层校验,不区分客户端类型(浏览器、手机客户端、远程调用)
    • 业务层Service:使用较多,主要校验主要业务参数,仅限于service接口中使用的参数
    • 持久层dao:一般是不校验的

  2. spring mvc校验
    spring mvc校验使用的是hibernate的校验框架validation(和hibernate没有任何关系)
    校验思路:
    页面提交请求的参数,请求到controller方法中,使用validation进行校验,如果校验出错,将错误信息展示到页面

  3. 环境准备
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  4. 配置校验器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  5. 将校验器注入到处理器适配器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  6. 在pojo中添加校验规则
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    对应的配置文件CustomValidationMessages.properties中配置校验信息
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  7.  controller中捕获校验信息并将错误信息传到页面

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

     页面:

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  8.  分组校验

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  9.  添加分组校验接口


    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  10.  pojo校验规则中添加分组

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  11. 在controller中使用指定分组的校验


    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


第三章 数据回显

  1. 什么是数据回显
    提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面
  2. pojo数据回显
    springmvc默认对pojo数据进行回显
    pojo数据传入controller方法以后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    也可以使用@ModelAttribute指定pojo回显到页面在request域中的key
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    @ModelAttribute还有一个作用:将方法的返回值传到页面
    需求:controller中定义商品类型查询方法,最终将商品类型传到页面
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  3. 最简单的方法实现数据回显
    使用Model,可以不用@ModelAttribute
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  4. 简单类型的数据回显
    使用最简单的方式:Model
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


第四章 异常处理 

一、全局异常处理器开发

  1. 异常处理思路
    系统中的异常有两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获得异常信息,后者主要通过规范代码开发、测试减少运行时异常
    系统中的dao、service、controller出现异常都throws Exception向上抛出,最后由springmvc的前端控制器交给异常处理器进行异常处理,如图:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    springmvc提供全局的异常处理器(一个系统只有一个异常处理器)进行统一异常处理

  2. 自定义异常类
    对不同的异常类型定义异常类
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  3. 全局异常处理器
    思路:
    系统遇到异常,在程序中手动抛出,dao抛给service,service抛给controller,controller抛给前端控制器,前端控制器会调用全局异常处理器
    全局异常处理器处理思路:
      如果该异常类型是系统自定义的异常,直接取出异常信息,在错误页面展示
      如果该异常类型不是系统自定义的异常,就构造一个自定义的异常,(信息为“未知错误”)
    springmvc提供了一个HandlerExceptionResolver接口

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  4. 在springmvc中配置全局异常处理器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

二、抛出异常 

  在controller、service、dao的任意一处需要手动抛出异常
  如果是在程序中手动抛出的异常,会在错误页面显示自定义的异常信息
  如果不是手动抛出的异常,说明是一个运行时异常,在错误页面只会显示“未知错误···”
  如:在商品修改方法中抛出异常
  Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  也可以在service抛出异常
  Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  总结:

  如果与业务功能相关的异常,建议在service抛出

  与业务功能没有关系的异常,建议在controller抛出


第五章 图片上传

  1. springmvc中对多部件类型解析
    在页面form表单中提交 enctype="multipart/form-data"的数据时,需要springmvc对multipart类型的数据进行解析
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    在springmvc.xml中配置multipart类型解析器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  2. 在服务器端创建一个虚拟目录存储图片
    方法:
    D:apache-tomcat-8.0.47confserver.xml添加虚拟目录/pic,实际目录是F:......

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    注意:在图片虚拟目录中,一定将图片目录分级创建(提高I/O性能),一般是按照日期(年、月、日)进行分级创建

  3. 加入上传图片的jar包
    上面的解析器内部使用下面的jar包进行图片上传
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  4.  上传图片代码

    页面:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    controller:

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


第五章 spring mvc 实现json数据交互

  1. 为什么要进行json数据交互
    json数据格式在接口调用中、html页面中比较常用,json格式比较简单,解析比较方便
    如:webservice接口,传输json数据
  2. springmvc进行json交互

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    1. 请求json、输出json,要求请求的是json串,所以在前端页面中需要将请求的内容转换成json穿,这种不太方便

    2. 请求是key/value、输出json ,此方法比较常用 

  3. 环境准备
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    springmvc中使用jackson的包进行json转换(@requestBody和@responseBody...)

  4. 配置json转换器
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  5. 输入的是json串,输出的是json串
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    controller中:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    jsp页面中:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    测试结果:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  6.  请求的是key/value,输出的是json

    controller中:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    jsp中:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    客户端直接就可以从data中取数据:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器



    测试结果:

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器




第六章 Spring MVC对RESTful的支持

  1. URI、URL、URN
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    URI:统一资源标识符;首先它是一个字符串。其次,它是一个可以唯一标识某一资源的字符串
    URL:统一资源定位符;首先,它是一种URI,其次,它可以标识资源的路径
    URN:统一资源名称;首先,它是一种URI,其次,它代表资源的名字

    URI可以分为URL,URN或同时具备locators 和names特性。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式
    所有的URL与URN都是URI,但是URI不一定就是URL或者URN

  2. 什么是RESTful
    1. 相关概念
      http://www.ruanyifeng.com/blog/2011/09/restful.html

      资源(Resources):一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在,用URI来表示它
      表现层(Representation):资源的外在表现形式;txt格式 、HTML格式、XML格式、JSON格式等表现(Accept和Content-Type,这两个字段是对"表现层"的描述)
      状态转化(State Transfer):互联网通信协议HTTP协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"(State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"

      客户端用到的手段,只能是HTTP协议。具体来说,就是HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源

      REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"

      RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用
    2. 总结什么是RESTful架构
      (1)每一个URI代表一种资源
      (2)客户端和服务器之间,传递这种资源的某种表现层
      (3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化"

    3. 另一个总结什么是RESTful架构
      1. 对URL进行规范,写REST格式的URL
        非REST格式的URL: http://...../queryItems.action?id=001&type=T01      在“?”后面加参数
        REST的URL: http://...../items/001       特点:URL简洁、将参数通过URL传到服务端

      2. 对http的方法进行规范
        不管是删除、添加、更新.......,使用的URL是一致的,如果进行删除,需要设置HTTP的方法为delete,同理......
        后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加
      3. 对http的contentType的规范
        请求时指定contentType,要json数据,就设置成json格式的type


  3. URL模版映射
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  4. 需求
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    controller里:
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    如果有多个参数:

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    REST的前端控制器的配置

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  5.  对静态资源的解析

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
    配置前端控制器的url-partten中指定/    默认截获所有请求,这时候对静态资源的解析出现了问题
    在springmvc中添加静态资源解析方法:

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器


第七章 Spring MVC拦截器

  1. 拦截器的定义
    拦截器的机制是基于AOP的
    拦截器需要实现HandlerIntercepter接口,里面有三个方法
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  2. 拦截器配置

    1. springmvc的拦截器针对HandlerMapping进行拦截设置(一般不推荐使用)
      如果在某个HandlerMapping中配置拦截,经过该HandlerMapping映射成功的Handler最终才使用该拦截器
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    2.  类似全局的拦截器配置

      springmvc配置类似全局的拦截器,springmvc框架将配置的拦截器注入到每一个HandlerMapping中
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

       

  3. 两个拦截器都放行
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  4. 拦截器1放行  拦截器2不放行
    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
  5. 拦截器1不放行,拦截器2不放行

    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  6.  小结:



    Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

  7. 拦截器应用(实现登录认证)

    1. 需求:

      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    2.  登录controller


      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    3.  登录页面:

      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    4.  登录认证拦截器


      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器
      Spring MVC(二)
 
第一章 Spring MVC参数绑定
第二章 Validation校验
第三章 数据回显
第四章 异常处理 
第五章 图片上传
第五章 spring mvc 实现json数据交互
第六章 Spring MVC对RESTful的支持
第七章 Spring MVC拦截器

    5.  配置拦截器