zoukankan      html  css  js  c++  java
  • Spring MVC 使用介绍(三)—— Controller接口控制器

    一、概述

    Controller接口类图如下,其中,BaseCommandController已从Spring 4移除

              

    基于继承Controller接口的方式已经不推荐使用,仅供学习参考

    二、基于Controller接口方式的使用介绍

    1、继承自Controller接口的实现类AbstractController,可实现:

    • 请求类型限定,如post
    • session校验
    • 缓存控制,如强缓存、协商缓存

    详细可参考 Controller接口控制器详解(1)

    2、直接映射到视图、无功能处理的Controller接口的实现类:

    • ParameterizableViewController  指定某一视图名
    • UrlFilenameViewController  采用Ant-style 模式进行匹配,通过url生成视图名

    详细可参考Controller接口控制器详解(3)

    3、一个Controller可映射多个功能处理方法的实现类:MultiActionController,两种使用方式:

    • 继承MultiActionController
    • 直接实例化MultiActionController, 定义并注入delegate

    详细可参考Controller接口控制器详解(5)

    三、数据的类型转换和验证

    1、类型转换

    PropertyEditor被限制为只能String<——>Object之间转换,不能Object<——>Object,包括两类

    • Spring内建的PropertyEditor
    • 用户自定义,需继承PropertyEditorSupport ,用户自定义PropertyEditor有三类注册方式:
    • WebDataBinder:针对单个控制器,暂无使用方式
    • WebBindingInitializer:批量注册,MultiActionController中存在setter方法,可通过bean注入
    • 使用约定自动全局注册:自定义的PropertyEditor放在和模型类同包下,且Editor命名规则必须是“模型类名Editor”

    详细可参考Controller接口控制器详解(6)

    2、数据验证

    待仔细研读

    详细可参考Controller接口控制器详解(7 完)

     

  • 相关阅读:
    习题四 答案
    习题五 答案
    习题三 答案
    习题二 答案
    习题一 答案
    mysqldump 备份
    centos mysql 数据迁移
    常用操作命令
    mysql 日期处理
    thinkphp3.2.3 使用配置
  • 原文地址:https://www.cnblogs.com/MattCheng/p/9167431.html
Copyright © 2011-2022 走看看