容器级WEB组件扩展专项测试
- WebMvcConfigurer接口扩展
- HandlerMapping自定义注册
- HandlerAdapter自定义配置
- ViewResolver自定义扩展
- Converter与Formatter注册
- ArgumentResolver参数解析扩展
试卷习题(20 题)
参考答案在文末AbstractHandlerMapping抽象类提供了拦截器注册的基础实现,自定义HandlerMapping继承该类可以自动获得拦截器支持。
要扩展SpringMVC的HandlerMapping配置,应该使用哪个接口?
HandlerAdapter接口的handle方法返回什么对象?
SpringMVC中负责将请求参数字符串转换为目标类型的组件是什么?
HandlerMapping接口的核心方法是什么?
拦截器(Interceptor)和过滤器(Filter)的主要区别是什么?
SpringMVC中,DispatcherServlet关联的WebApplicationContext是如何创建的?
以下哪个是SpringMVC处理@ExceptionHandler注解的核心组件?
WebMvcConfigurer接口中提供了哪些与HandlerMapping相关的配置方法?
关于SpringMVC容器体系结构,以下说法正确的是?
以下哪些场景适合使用拦截器而不是过滤器?
SpringMVC中实现自定义类型转换的方式有哪些?
RequestMappingHandlerMapping的内部数据结构MappingRegistry包含哪些信息?
以下关于HandlerExceptionResolver的说法,哪些是正确的?
RequestMappingHandlerAdapter的invokeHandlerMethod方法中执行了哪些关键操作?
SpringMVC容器初始化时,Root WebApplicationContext的配置文件路径通过参数指定,由监听器初始化。Servlet WebApplicationContext的配置类通过注解标注,在SpringBoot中由DispatcherServletAutoConfiguration自动配置。
自定义HandlerMapping可以通过实现接口或继承抽象类。注册自定义HandlerMapping时,需要设置属性决定查找顺序,数值越小优先级越高。
SpringMVC数据绑定过程中,类负责将请求参数绑定到目标对象,它使用进行类型转换,使用进行数据校验,绑定结果存储在BindingResult对象中。
配置拦截器需要通过WebMvcConfigurer接口的方法添加,可以设置指定拦截路径,设置排除路径。配置过滤器需要实现Filter接口,并通过FilterRegistrationBean注册到Servlet容器。
自定义异常解析器需要实现接口,实现方法。如果要将自定义异常解析器添加到SpringMVC中,可以通过实现接口的extendHandlerExceptionResolvers方法或配置@Bean注入。
