首页/ 学科题库/ SpringMVC/ 自定义处理器与适配器专项测试
SpringMVC 模拟试卷

自定义处理器与适配器专项测试

20 题 60 分钟 难度:★★★
  • Handler接口设计与实现
  • HttpRequestHandler处理器
  • SimpleControllerHandlerAdapter
  • RequestMappingHandlerAdapter原理
  • HandlerMethodArgumentResolver
  • HandlerMethodReturnValueHandler

试卷习题(20 题)

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

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

A

对

B

错

单选题
2
单选题

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

A

MessageConverter

B

HttpMessageConverter

C

Converter<T,S>

D

MediaTypeConverter

3
单选题

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

A

ExceptionHandler

B

HandlerExceptionResolver

C

ControllerAdvice

D

ErrorResolver

4
单选题

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

A

Filter

B

HandlerInterceptor

C

WebMvcConfigurer

D

InterceptorRegistry

5
单选题

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

A

HandlerMapping

B

AbstractHandlerMapping

C

RequestMappingHandlerMapping

D

SimpleUrlHandlerMapping

6
单选题

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

A

ArgumentResolver

B

HandlerMethodArgumentResolver

C

ParameterResolver

D

MethodArgumentProcessor

7
单选题

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

A

ReturnValueHandler

B

HandlerMethodReturnValueHandler

C

ResultProcessor

D

ResponseHandler

多选题
8
多选题

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

A

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

B

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

C

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

D

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

9
多选题

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

A

直接实现HandlerExceptionResolver接口

B

继承AbstractHandlerExceptionResolver抽象类

C

使用@ExceptionHandler注解配合@ControllerAdvice

D

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

10
多选题

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

A

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

B

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

C

通过WebMvcConfigurer的addReturnValueHandlers方法注册

D

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

11
多选题

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

A

通过WebMvcConfigurer的configureMessageConverters方法添加

B

通过WebMvcConfigurer的extendMessageConverters方法扩展

C

直接使用@Bean注解注入HttpMessageConverter

D

通过RequestMappingHandlerAdapter的setMessageConverters方法设置

12
多选题

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

A

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

B

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

C

通过WebMvcConfigurer的addArgumentResolvers方法注册

D

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

13
多选题

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

A

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

B

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

C

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

D

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

14
多选题

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

A

创建类实现HandlerInterceptor接口

B

在preHandle方法中实现拦截逻辑

C

创建@Configuration类实现WebMvcConfigurer接口

D

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

填空题
15
填空题

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

16
填空题

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

17
填空题

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

18
填空题

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

19
填空题

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

20
填空题

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

参考答案
1.正确 2.B 3.B 4.B 5.B 6.B 7.B 8.A;B;C;D 9.A;B;C;D 10.A;B;C;D 11.A;B;C 12.A;B;C;D 13.A;B;C;D 14.A;B;C;D 15.resolveException;Exception;ModelAndView 16.supportsReturnType;handleReturnValue;ModelAndViewContainer 17.supportsParameter;MethodParameter;true 18.canRead;canWrite;getSupportedMediaTypes 19.addInterceptor;addPathPatterns;excludePathPatterns 20.getHandlerInternal;Object;order
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 文件上传下载进阶专项测试 下一套 → 请求响应与数据返回专项测试