SpringMVC面试题及答案(31-35)

31、SpringMVC中如何使用HandlerInterceptorAdapter?

HandlerInterceptorAdapter是SpringMVC中拦截器的适配器类,通过继承HandlerInterceptorAdapter可以方便的实现自定义拦截器。在自定义拦截器类中重写preHandle、postHandle和afterCompletion方法即可实现拦截器的前置、后置和完成处理。

32、SpringMVC中如何使用HandlerMapping?

HandlerMapping是SpringMVC中处理器映射的接口,主要负责根据请求映射找到对应的处理器。SpringMVC中提供了多个HandlerMapping的实现类,包括RequestMappingHandlerMapping、RequestMappingInfoHandlerMapping等。

33、SpringMVC中如何使用RequestMappingHandlerAdapter?

RequestMappingHandlerAdapter是SpringMVC中请求处理适配器的实现类,主要负责处理请求,调用相应的Controller方法并处理返回值。RequestMappingHandlerAdapter通过调用RequestMappingHandlerMapping找到请求对应的Controller方法,然后通过HandlerMethodArgumentResolver解析请求参数,调用Controller方法,最后通过HttpMessageConverter将返回值转换为响应体。

34、SpringMVC中如何使用RequestMappingHandlerMapping?

RequestMappingHandlerMapping是SpringMVC中请求映射处理器的实现类,主要负责根据请求映射找到对应的Controller方法。RequestMappingHandlerMapping通过HandlerMethodMappingNamingStrategy确定HandlerMethod名称,再通过RequestMappingInfo确定映射关系。

35、SpringMVC中如何使用RequestMappingInfoHandlerMapping?

RequestMappingInfoHandlerMapping是SpringMVC中请求映射处理器的另一种实现方式,它支持使用更加灵活的RequestMappingInfo来定义映射关系。RequestMappingInfoHandlerMapping的匹配逻辑和RequestMappingHandlerMapping类似,但是RequestMappingInfoHandlerMapping支持更加灵活的映射关系,如Ant风格的URL路径匹配、正则表达式匹配等。