首页/ 学科题库/ SpringMVC/ 自定义处理器与适配器专题
SpringMVC 专题精讲

自定义处理器与适配器专题

1 篇文章 24 道配套习题

自定义处理器与适配器专题

专题说明

本专题深入讲解SpringMVC自定义处理器与适配器的实现方法,掌握HandlerMapping与HandlerAdapter的底层扩展机制。

学习目标

  1. 理解Handler与HandlerAdapter的关系
  2. 掌握自定义Handler的实现方式
  3. 熟练实现自定义HandlerMapping
  4. 掌握自定义HandlerAdapter开发

学习内容

  • Handler类型与体系
  • 自定义HandlerMapping
  • 自定义HandlerAdapter
  • HandlerMethod扩展
  • 自定义Handler注册

学习建议

深入理解SpringMVC的Handler体系,掌握组件扩展的底层原理与实现方法。

配套习题(24 题)

参考答案在文末
判断题
1
判断题

自定义参数解析器注册后,会添加到默认解析器列表的末尾,因此如果默认解析器已经支持某种参数类型,自定义解析器不会被执行。

A

对

B

错

2
判断题

自定义HandlerMapping和自定义HandlerAdapter必须配套使用,HandlerMapping返回的Handler对象必须能被某个HandlerAdapter的supports方法识别。

A

对

B

错

单选题
3
单选题

自定义HttpMessageConverter需要实现哪个接口?

A

MessageConverter

B

HttpMessageConverter

C

Converter<T,S>

D

MediaTypeConverter

4
单选题

自定义参数解析器需要实现哪个接口?

A

ArgumentResolver

B

HandlerMethodArgumentResolver

C

ParameterResolver

D

MethodArgumentProcessor

5
单选题

自定义HandlerAdapter需要实现哪个接口?

A

Adapter

B

HandlerAdapter

C

ControllerAdapter

D

MethodAdapter

6
单选题

自定义HandlerMapping的最佳实践是继承哪个类?

A

HandlerMapping

B

AbstractHandlerMapping

C

RequestMappingHandlerMapping

D

SimpleUrlHandlerMapping

7
单选题

自定义拦截器需要实现哪个接口?

A

Filter

B

HandlerInterceptor

C

WebMvcConfigurer

D

InterceptorRegistry

8
单选题

自定义返回值处理器需要实现哪个接口?

A

ReturnValueHandler

B

HandlerMethodReturnValueHandler

C

ResultProcessor

D

ResponseHandler

9
单选题

自定义异常解析器需要实现哪个接口?

A

ExceptionHandler

B

HandlerExceptionResolver

C

ControllerAdvice

D

ErrorResolver

多选题
10
多选题

自定义HandlerMapping的应用场景有哪些?

A

基于数据库配置动态路由URL到Handler

B

基于租户ID或用户角色路由到不同的Handler

C

支持特殊的URL匹配规则如正则表达式匹配

D

实现A/B测试功能路由到不同版本的处理逻辑

11
多选题

RequestResponseBodyMethodProcessor同时实现了HandlerMethodArgumentResolver和HandlerMethodReturnValueHandler接口,以下关于它的说法正确的是?

A

作为参数解析器处理@RequestBody注解的参数

B

作为返回值处理器处理@ResponseBody注解的返回值

C

使用HttpMessageConverter完成序列化和反序列化

D

可以自定义扩展以支持特殊的请求/响应格式

12
多选题

自定义HandlerMethodReturnValueHandler的实现要点有哪些?

A

在supportsReturnType中判断返回值类型或方法注解

B

在handleReturnValue中处理返回值并设置ModelAndViewContainer

C

通过WebMvcConfigurer的addReturnValueHandlers方法注册

D

可以处理特殊格式的响应如CSV导出、PDF生成等

13
多选题

实现自定义拦截器并注册到SpringMVC的正确步骤有哪些?

A

创建类实现HandlerInterceptor接口

B

在preHandle方法中实现拦截逻辑

C

创建@Configuration类实现WebMvcConfigurer接口

D

在addInterceptors方法中通过InterceptorRegistry注册拦截器

14
多选题

自定义HttpMessageConverter注册到SpringMVC的正确方式有哪些?

A

通过WebMvcConfigurer的configureMessageConverters方法添加

B

通过WebMvcConfigurer的extendMessageConverters方法扩展

C

直接使用@Bean注解注入HttpMessageConverter

D

通过RequestMappingHandlerAdapter的setMessageConverters方法设置

15
多选题

自定义HandlerAdapter的应用场景有哪些?

A

支持自定义Handler类型的执行逻辑

B

实现特殊的参数绑定或返回值处理

C

集成非SpringMVC的控制器框架如Struts

D

为WebSocket、RPC等特殊请求类型提供适配

16
多选题

自定义HandlerExceptionResolver的实现方式有哪些?

A

直接实现HandlerExceptionResolver接口

B

继承AbstractHandlerExceptionResolver抽象类

C

使用@ExceptionHandler注解配合@ControllerAdvice

D

实现Ordered接口设置解析优先级

17
多选题

自定义HandlerMethodArgumentResolver的实现要点有哪些?

A

在supportsParameter中判断参数类型或注解

B

在resolveArgument中实现具体的参数解析逻辑

C

通过WebMvcConfigurer的addArgumentResolvers方法注册

D

可以结合自定义注解标记需要特殊解析的参数

填空题
18
填空题

自定义异常解析器实现HandlerExceptionResolver接口时,需要实现方法,该方法接收异常对象,返回表示异常已处理,返回null表示该解析器无法处理此异常。

19
填空题

注册拦截器时,通过方法添加拦截器实例,通过设置拦截路径(如"/**"),通过排除不需要拦截的路径(如"/login"),可通过order方法设置拦截器执行顺序。

20
填空题

继承AbstractHandlerMapping自定义HandlerMapping时,需要实现方法获取Handler对象,该方法返回类型的Handler。设置属性可以控制HandlerMapping的查找顺序,数值越小优先级越高。

21
填空题

自定义返回值处理器实现HandlerMethodReturnValueHandler接口时,方法判断是否支持该返回值类型,方法处理返回值。如果需要直接写入响应体而不渲染视图,应设置的requestHandled属性为true。

22
填空题

自定义参数解析器实现HandlerMethodArgumentResolver接口时,方法接收对象判断是否支持解析,返回表示支持,resolveArgument方法执行实际的参数解析并返回参数值对象。

23
填空题

自定义HandlerAdapter实现HandlerAdapter接口时,方法判断是否支持该Handler类型,方法执行Handler并返回对象。注册自定义HandlerAdapter可以通过@Bean注解直接注入容器。

24
填空题

自定义HttpMessageConverter时,方法判断是否支持将请求体转换为对象,方法判断是否支持将对象写入响应体,方法返回支持的媒体类型列表,如application/json表示JSON格式。

参考答案
1.正确 2.正确 3.B 4.B 5.B 6.B 7.B 8.B 9.B 10.A;B;C;D 11.A;B;C;D 12.A;B;C;D 13.A;B;C;D 14.A;B;C 15.A;B;C;D 16.A;B;C;D 17.A;B;C;D 18.resolveException;Exception;ModelAndView 19.addInterceptor;addPathPatterns;excludePathPatterns 20.getHandlerInternal;Object;order 21.supportsReturnType;handleReturnValue;ModelAndViewContainer 22.supportsParameter;MethodParameter;true 23.supports;handle;ModelAndView 24.canRead;canWrite;getSupportedMediaTypes
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 文件上传下载进阶专题 下一个专题 → 请求响应与数据返回专题