全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📝 1 篇文章 25 道配套习题

容器级WEB组件扩展专题

专题说明

本专题深入讲解SpringMVC容器级组件扩展机制,掌握WebMvcConfigurer接口、自定义组件注册与替换策略。

学习目标

  1. 理解WebMvcConfigurer扩展机制
  2. 掌握各组件的注册与替换方法
  3. 熟练配置自定义参数解析器
  4. 掌握视图控制器与资源处理器配置

学习内容

  • WebMvcConfigurer接口详解
  • 添加自定义拦截器
  • 配置静态资源处理
  • 自定义参数解析器
  • 自定义返回值处理器

学习建议

理解SpringMVC组件扩展的设计模式,结合实际需求灵活扩展框架能力。

📝 发现内容有误?点击此处直接编辑

📝 配套习题(25 题)

1
单选题

以下哪个是SpringMVC处理@ExceptionHandler注解的核心组件?

A

ResponseStatusExceptionResolver

B

ExceptionHandlerExceptionResolver

C

DefaultHandlerExceptionResolver

D

SimpleMappingExceptionResolver

2
多选题

以下关于HandlerExceptionResolver的说法,哪些是正确的?

A

ExceptionHandlerExceptionResolver处理@ExceptionHandler注解

B

ResponseStatusExceptionResolver处理@ResponseStatus注解

C

DefaultHandlerExceptionResolver处理Spring标准异常

D

所有异常解析器都实现自同一个接口

3
填空题

自定义异常解析器需要实现________________________接口,实现________________方法。如果要将自定义异常解析器添加到SpringMVC中,可以通过实现________________接口的extendHandlerExceptionResolvers方法或配置@Bean注入。

4
单选题

SpringMVC中负责将请求参数字符串转换为目标类型的组件是什么?

A

HandlerMethodArgumentResolver

B

ConversionService

C

HttpMessageConverter

D

PropertyEditor

5
多选题

SpringMVC中实现自定义类型转换的方式有哪些?

A

实现Converter<S,T>接口

B

实现ConverterFactory<S,T>接口

C

实现GenericConverter接口

D

继承PropertyEditorSupport类

6
填空题

SpringMVC数据绑定过程中,__________类负责将请求参数绑定到目标对象,它使用_________________进行类型转换,使用_________进行数据校验,绑定结果存储在_____________对象中。

7
单选题

SpringMVC中,DispatcherServlet关联的WebApplicationContext是如何创建的?

A

由ServletContextListener创建

B

由FrameworkServlet.initServletBean()方法创建

C

由DispatcherServlet.init()方法创建

D

由SpringBoot自动创建

8
多选题

关于SpringMVC容器体系结构,以下说法正确的是?

A

Root WebApplicationContext由ContextLoaderListener初始化

B

Servlet WebApplicationContext由DispatcherServlet初始化

C

Servlet容器可以访问Root容器中的Bean

D

Root容器可以访问Servlet容器中的Bean

9
填空题

SpringMVC容器初始化时,Root WebApplicationContext的配置文件路径通过_____________________参数指定,由_____________________监听器初始化。Servlet WebApplicationContext的配置类通过______________注解标注,在SpringBoot中由________________________自动配置。

10
单选题

要扩展SpringMVC的HandlerMapping配置,应该使用哪个接口?

A

WebMvcConfigurer

B

HandlerMappingRegistry

C

RequestMappingHandler

D

MvcConfiguration

11
多选题

WebMvcConfigurer接口中提供了哪些与HandlerMapping相关的配置方法?

A

configurePathMatch()

B

addInterceptors()

C

addViewControllers()

D

extendHandlerExceptionResolvers()

12
填空题

自定义HandlerMapping可以通过实现______________接口或继承______________________抽象类。注册自定义HandlerMapping时,需要设置______属性决定查找顺序,数值越______优先级越高。

13
单选题

拦截器(Interceptor)和过滤器(Filter)的主要区别是什么?

A

拦截器属于Servlet规范,过滤器属于SpringMVC

B

拦截器可以访问Spring容器Bean,过滤器不能

C

过滤器只能拦截特定URL,拦截器可以拦截所有请求

D

过滤器在拦截器之前执行

14
多选题

以下哪些场景适合使用拦截器而不是过滤器?

A

权限校验

B

日志记录

C

获取Spring容器中的Bean进行业务处理

D

跨域CORS处理

15
填空题

配置拦截器需要通过WebMvcConfigurer接口的_______________方法添加,可以设置_______________指定拦截路径,设置___________________排除路径。配置过滤器需要实现______接口,并通过FilterRegistrationBean注册到Servlet容器。

16
单选题

HandlerMapping接口的核心方法是什么?

A

getHandler(HttpServletRequest request)

B

handle(HttpServletRequest request, HttpServletResponse response)

C

resolveException(HttpServletRequest request, Exception ex)

D

convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType)

17
多选题

RequestMappingHandlerMapping的内部数据结构MappingRegistry包含哪些信息?

A

URL路径到HandlerMethod的映射

B

请求方法(GET/POST等)约束

C

请求参数条件

D

请求头条件

18
判断题

AbstractHandlerMapping抽象类提供了拦截器注册的基础实现,自定义HandlerMapping继承该类可以自动获得拦截器支持。

A

B

19
单选题

HandlerAdapter接口的handle方法返回什么对象?

A

String

B

ModelAndView

C

ResponseEntity

D

Object

20
多选题

RequestMappingHandlerAdapter的invokeHandlerMethod方法中执行了哪些关键操作?

A

创建InvocableHandlerMethod封装Handler方法

B

创建WebDataBinderFactory进行数据绑定

C

创建ModelFactory处理@ModelAttribute和@SessionAttributes

D

调用ServletInvocableHandlerMethod.invokeAndHandle()

21
填空题

自定义HandlerAdapter需要实现______________接口的_______方法判断是否支持该Handler,实现______方法执行Handler并返回____________

22
单选题

HandlerInterceptor接口中,哪个方法在Handler执行之后、视图渲染之前执行?

A

preHandle()

B

postHandle()

C

afterCompletion()

D

afterHandle()

23
多选题

以下哪些是拦截器的典型应用场景?

A

用户登录验证

B

日志记录

C

性能统计(记录请求耗时)

D

异常处理

24
填空题

SpringMVC中,拦截器接口__________________定义了三个方法:_________在Handler执行前返回boolean值决定是否继续,__________在Handler执行后可修改ModelAndView,_______________在请求完成后用于清理资源。

25
判断题

异步请求(@Async或Callable返回值)中,拦截器的afterCompletion方法会在异步处理完成后执行。

A

B

← 上一个专题 全局异常统一处理专题
下一个专题 → 常用注解基础使用专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库