• 处理器(也就是执行流程图上面的controller)执行逻辑(十)


    处理器继承自:AbstractController,MultiActionController

     

    一、AbstractController

    如上图,可以分析出AbstractController用的处理器适配器是SimpleControllerHandlerAdapter

     

    具体Mycontroller里面的handleRequestInternal这个方法是怎么执行的,上图里面AbstractController类是继承了Controller接口,Controller这个接口里面有一个如下图handleRequest这个方法,AbstractController重写了handleRequest这个方法,handleRequest这个方法如下图最后一行代码有执行了handleRequestInternal这个方法,而MyController这个里面有重新了handleRequestInternal这个方法,所以,MyController里面的方法就执行了。

     

     

     

     

    AbstractController限定请求提交方式

    看一下这个类WebContentGenerator,WebContentGenerator这个类有一个supportedMethods这个属性,因为是继承过来的,所以MyController里面也有supportedMethods这个属性,那么在注册的时候就可以设置这个属性了,如下图:

     

     

     

    二、MultiActionController(包括:InternalPathMethodNameResolver(默认),ParameterMethodNameResolver

    之前的是下面这样写,如下

    如上面的例子所示,一个MyController里面只能定义一个方法,而MultiActionController里面可以定义任意多个方法,只要返回ModelAndView就行:

     

    springmvc.xml这样配置如下: 

     

     

    ParameterMethodNameResolver用法如下:

     

     

    方法名作为参数值出现的情况如下,也就是参数就是要执行的方法

  • 相关阅读:
    资金管理2
    php面试题之三——PHP网络编程(高级部分)
    运用JS设置cookie、读取cookie、删除cookie
    PHP 程序员学数据结构与算法之《栈》
    《高性能MySQL》学习笔记
    如何配置Notepad++的C_C++语言开发环境
    memcached完全剖析–1. memcached的基础
    Redis和Memcached的区别
    地区三级联动
    lwip:与tcp发送相关的选项和函数
  • 原文地址:https://www.cnblogs.com/suanshun/p/6707978.html
Copyright © 2020-2023  润新知