处理器(也就是执行流程图上面的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用法如下:

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

处理器(也就是执行流程图上面的controller)执行逻辑(十)的更多相关文章
- ThinkPHP2.2框架执行流程图,ThinkPHP控制器的执行流程
ThinkPHP2.2框架执行原理.流程图在线手册 ThinkPHP控制器的执行流程 对用户的第一次URL访问 http://<serverIp>/My/index.php/Index/s ...
- KafkaProducer Sender 线程详解(含详细的执行流程图)
目录 1.Sender 线程详解 2.RecordAccumulator 核心方法详解 温馨提示:本文基于 Kafka 2.2.1 版本. 上文 <源码分析 Kafka 消息发送流程> 已 ...
- Hibernate第二篇【API讲解、执行流程图】
前言 从上一篇中已经大致介绍了Hibernate并且有了一个快速入门案例的基础了,-.本博文主要讲解Hibernate API 我们看看快速入门案例的代码用到了什么对象吧,然后一个一个讲解 publi ...
- 获取Linux进程运行在哪个CPU内核上面的方法
首先,当某些时候,在一段程序或者借助第三方软件进行程序协助的时候,在性能的优化,以及程序bug的排除上面,可能会想知道该程序执行的进程被调度到了哪一个CPU内核进行工作,从而可以推断是否是受限于硬件还 ...
- js不是从上到下执行的吗?
如果说js是从上到下解释执行的, 那么,按道理应该会执行错误前面的代码. 如: [代码一] //输出1,2,到3报错 console.log("一") console.log(&q ...
- php通过cURL下载网络上面的一个HTTPS的资源
<?php /** * php通过cURL下载网络上面的一个HTTPS的资源 * 案例:从google的CDN上下载jquery- v1.7.1 */ $curlobj = curl_init( ...
- mac上sed -i 执行失败报错
比如说我要替换version.txt文件中的version=1.1 为version=1.2,比如test.txt文件内容如下: version=1.1 此时我们会使用sed来替换,如果是涉及比较多的 ...
- jq源码解析之绑在$,jQuery上面的方法
1.当我们用$符号直接调用的方法.在jQuery内部是如何封装的呢?有没有好奇心? // jQuery.extend 的方法 是绑定在 $ 上面的. jQuery.extend( { //expand ...
- 把git上面的scala工程转为eclipse工程
1,安装sbt工具,url:https://www.cnblogs.com/zeling/p/8494828.html 2,把插件添加到plugins.sbt文件中: addSbtPlugin(&qu ...
随机推荐
- COGS1516. 棋盘上的车
[题目描述] 在n*n(n≤20)的方格棋盘上放置n 个车,求使它们不能互相攻击的方案总数. [输入格式] 一行一个正整数n. [输出格式] 一行一个正整数,即方案总数. [样例输入] 3 [样例输出 ...
- Wireshark图解教程(简介、抓包、过滤器)【转载】
原文网址:http://blog.sina.com.cn/s/blog_5d527ff00100dwph.html Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据, ...
- 学习SQL Server从在Linux上安装开始
微软已经发布了SQL Server on Linux,目前支持Redhat和Ubuntu两种发行版. 下面我们来安装体验一下. 1. 获得YUM源: YUM的repo文件地址: https://pac ...
- Js基础之函数
定义函数:我们使用function标签来定义函数 使用函数:JavaScript函数定义完毕是不能自动执行的,需要我们调用或者事件触发,比如点击事件,鼠标事件,键盘事件等. 下面我们以点击事件为例,调 ...
- codeforce 103B Cthulhu
B. Cthulhu time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- L2-014. 列车调度(set的使用,最长递增子序列)
L2-014. 列车调度 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 火车站的列车调度铁轨的结构如下图所示. Figure ...
- Java-API-POI-Excel:HSSFWorkbook Documentation
ylbtech-Java-API-POI-Excel:HSSFWorkbook Documentation 1.返回顶部 1. org.apache.poi.hssf.usermodel Class ...
- JAVA生成Word文档(经过测试)
首先告诉大家这篇文章的原始出处:http://www.havenliu.com/java/514.html/comment-page-1#comment-756 我也是根据他所描述完成的,但是有一些地 ...
- php大型网站如何提高性能和并发访问
一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器. ...
- spring bean管理
轻量级,无侵入 Bean管理 1 创建applicationContext.xml 2 配置被管理的Bean 3 获取Bean pom.xml配置 <dependency> <gro ...