全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

拦截器原理与实战专项测试

20 题 45 分钟 难度:

考察知识点

  • HandlerInterceptor接口方法
  • preHandle前置拦截处理
  • postHandle后置拦截处理
  • afterCompletion完成回调
  • 拦截器配置与路径匹配
  • 拦截器链执行顺序
1
单选题

SpringMVC拦截器的主要作用是什么?

A

处理HTTP请求和响应

B

在Controller方法执行前后进行拦截处理

C

直接操作数据库

D

配置静态资源映射

2
判断题

SpringMVC拦截器是AOP(面向切面编程)思想在Web层的具体应用。

A

B

3
单选题

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

A

拦截器是Servlet组件,过滤器是Spring组件

B

拦截器只能拦截Controller请求,过滤器可以拦截所有请求

C

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

D

拦截器执行在过滤器之前

4
多选题

以下关于拦截器和过滤器的对比,哪些描述是正确的?

A

过滤器是Servlet规范定义的组件

B

拦截器是SpringMVC框架定义的组件

C

过滤器执行时机早于拦截器

D

拦截器可以访问Spring容器中的Bean和Service

E

过滤器和拦截器都可以拦截静态资源请求

5
填空题

HTTP请求的处理流程中,各组件的执行顺序为:

  1. ______(Filter):Servlet容器级别的拦截
  2. _________________:SpringMVC核心控制器
  3. ______(Interceptor):SpringMVC级别拦截
  4. __________:业务处理控制器
6
单选题

实现SpringMVC拦截器需要实现哪个接口?

A

Filter接口

B

HandlerInterceptor接口

C

WebMvcConfigurer接口

D

Interceptor接口

7
单选题

HandlerInterceptor接口的三个方法中,哪个方法需要返回boolean值来决定是否继续执行后续流程?

A

preHandle方法

B

postHandle方法

C

afterCompletion方法

D

所有三个方法

8
判断题

实现HandlerInterceptor接口时,必须实现所有三个方法(preHandle、postHandle、afterCompletion)。

A

B

9
填空题

HandlerInterceptor接口的preHandle方法签名:

Java
boolean preHandle(
    !!1_HttpServletRequest!! request,
    !!2_HttpServletResponse!! response,
    !!3_Object!! handler
) throws Exception;

其中handler参数表示即将执行的__________方法(Handler对象)。

10
单选题

当拦截器的preHandle方法返回false时,会发生什么?

A

请求继续执行到Controller

B

请求直接返回响应,不再执行后续流程

C

抛出异常

D

跳转到下一个拦截器

11
判断题

在preHandle方法中,可以通过handler参数获取Controller类名和方法名等详细信息。

A

B

12
单选题

在preHandle方法中实现登录验证,当用户未登录时,最合适的处理方式是?

A

返回false并设置response状态码为401

B

返回true让Controller处理未登录请求

C

返回false并使用response.sendRedirect()重定向到登录页

D

抛出RuntimeException异常

13
单选题

拦截器的postHandle方法在哪个时机执行?

A

Controller执行之前

B

Controller执行之后,视图渲染之前

C

视图渲染之后

D

响应返回之后

14
判断题

当Controller方法使用@ResponseBody或@RestController返回JSON数据时,postHandle方法中的ModelAndView参数为null。

A

B

15
填空题

postHandle方法签名:

Java
void postHandle(
    !!1_HttpServletRequest!! request,
    !!2_HttpServletResponse!! response,
    !!3_Object!! handler,
    !!4_ModelAndView!! modelAndView
) throws Exception;

可以通过修改____________对象来添加通用视图数据或修改视图名称。

16
单选题

拦截器的afterCompletion方法有什么特点?

A

只有请求成功时才执行

B

只有请求失败时才执行

C

无论请求是否抛出异常都会执行

D

可以修改响应内容

17
判断题

afterCompletion方法是拦截器执行流程中最后执行的方法,适合进行资源清理和异常日志记录。

A

B

18
填空题

afterCompletion方法签名:

Java
void afterCompletion(
    !!1_HttpServletRequest!! request,
    !!2_HttpServletResponse!! response,
    !!3_Object!! handler,
    !!4_Exception!! ex
) throws Exception;

参数______表示请求处理过程中抛出的异常,如果没有异常则为______

19
单选题

在SpringMVC中使用Java配置方式注册拦截器,需要实现哪个接口的方法?

A

HandlerInterceptor接口的addInterceptor方法

B

WebMvcConfigurer接口的addInterceptors方法

C

Filter接口的init方法

D

Servlet接口的init方法

20
单选题

在InterceptorRegistry中配置拦截器时,addPathPatterns方法的作用是?

A

设置不需要拦截的路径

B

设置需要拦截的路径

C

设置拦截器的执行顺序

D

设置拦截器的名称

← 上一个试卷 常用注解基础使用专项测试
下一个试卷 → 数据校验与格式化专项测试

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

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

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

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