0
点赞
收藏
分享

微信扫一扫

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter


系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​SpringMVC处理器适配器​​
  • ​​第一种:SimpleControllerHandlerAdapter​​
  • ​​第二种:HttpRequestHandlerAdapter​​
  • ​​总结​​

SpringMVC处理器适配器

就是这个

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC


这个叫做控制器的一个处理适配器

它是干啥的呢,我们找到控制器之后,是不是要调用控制器的方法,这个就是找那个方法用的

两种方式:

第一种:SimpleControllerHandlerAdapter

功能:执行controller,调用controller里面handleRequest方法,返回modelAndView

一种是简单的控制器处理映射
其实之前我们用过

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_02

返回modeAndView,这个实现,其实我们前面已经写过了

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_03


之前我们写的这个就是基于刚刚那个配置才能实现的

留下一个疑问
为啥注释了还是能访问???缓存也清除了,很神奇,谁知道麻烦告诉我一下

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_04


SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_05

这是什么匹配规则!!!!

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_06


还需要后缀为do

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_07


不知道咋匹配的,先放一下

这里我们讲另外一种

第二种:HttpRequestHandlerAdapter

执行控制器

负责调用实现HttpRequestHandler接口的控制器

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_08


我们新建一个http

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_09


这也是一个控制器注意,这个是没有返回值的

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_10


这种是是什么意思呢

如果我想经过这个方法来到某个页面的话就需要这个方法

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_11


如果我们希望 HttpController 这个控制器里面实现的功能跟UserController一致

那么怎么写

回到最原始的写法

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_12


接下来我们要让它访问我们这个HttpController控制器就需要配了

配什么东西呢

需要再配置一个bean

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_13


注意它们是共存的,这两种访问方式都可以用

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_14

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_15

注意注意的是

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_16


注释了之后是可以的(自动),但是如果不注释,就会按照配置的来

这样就会报错

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_17


需要给它加一个适配器

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_18


然后就好了

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_19


SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_MVC_20


其实是一样的,只是return了一个null,参数也有些变化

总结

1、URL处理器映射找控制器(找到控制器之后要调用控制器的方法)

2、SpringMVC处理器适配器 就去调用控制器的方法

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_21


2、适配器有两种

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_22


一个是简单的,一个是Http类型的,他们的不同之处在于实现的接口不一样

到这,我们可以跟前面的概念衔接起来理解了

SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_23


SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_缓存_24


SSM之SpringMVC_02_02_处理器适配器SimpleControllerHandlerAdapter、HttpRequestHandlerAdapter_后缀_25

注意:两个处理器适配器可以共存


举报

相关推荐

0 条评论