框架设计--第十五章 拦截器--习题答案

摘要:微信搜索【三桥君
课程介绍:“框架技术”是软件工程专业的核心课程,是本专业限选课,是Java 应用开发课程,是本专业学生就业的主要方向。
说明:框架设计其他章节的习题答案也在此“spring框架设计”专栏。

一、 填空题

  1. Spring MVC单个拦截器执行顺序中,在【DispatcherServlet 】处理完请求后,才会执行afterCompletion()方法。
  2. Spring MVC中的拦截器(Interceptor)类似于Servlet中的【 过滤器或Filter】,它主要用于拦截用户请求并作相应的处理。
  3. 用于如果没有登录系统而直接访问主页面,拦截器会将请求拦截,并转发到【登录页面 】。
  4. 当有多个拦截器同时工作时,它们的【 preHandle()】方法会按照配置文件中拦截器的配置顺序执行。
  5. 如果拦截器类中的preHandle()方法的返回值为【 true】,则程序会继续向下执行处理器中的方法。

二、 判断题

  1. 在实现用户登录权限验证中,需要定义一个登录拦截器,并在拦截器的postHandle()方法中编写业务逻辑进行登录控制。( ×)
  2. 配置拦截器时,必须将path的属性值设置为/**。(× )
  3. 多个拦截器时,postHandle()方法和afterCompletion()方法则会按照配置顺序执行。(× )
  4. 全局拦截器和指定路径下的拦截器不能够同时配置,否则运行时会报错。(× )
  5. < mvc:interceptor>中的子元素可以按照任意位置编写。(× )

三、 选择题

  1. 以下有关Spring MVC配置文件中拦截器的配置说法错误的是。( B)
    A: 要使用Spring MVC中拦截器,要先自定义拦截器还需要在配置文件中进行配置。
    B: mvc:interceptors元素用于配置一组拦截器,其子元素中定义的是指定路径的拦截器。
    C: mvc:interceptors元素中可以同时配置多个mvc:interceptor子元素。
    D: mvc:exclude-mapping元素用于配置不需要拦截的路径请求。
  2. 下面不属于拦截器类中的方法的是。( D)
    A: preHandler()
    B: postHandle()
    C: afterCompletion()
    D: afterpletion()
  3. 以下哪个方法可以定义Spring MVC中的拦截器。( D)
    A: 继承HandlerInterceptor
    B: 实现WebRequestInterceptor
    C: 实现HandlerInterceptorAdapter
    D: 继承WebRequestInterceptor
  4. 下列关于拦截器的执行流程说法错误的是。( C)
    A:程序首先会执行拦截器类中的preHandle()方法。
    B:如果preHandle()方法的返回值为true,则程序会继续向下执行处理器中的方法,否则将不再向下执行。
    C:在业务处理器(即控制器Controller类)处理完请求后,会执行preHandle()方法。
    D:在DispatcherServlet处理完请求后,才会执行afterCompletion()方法。
  5. 关于用户权限验证的执行流程,说法错误的是。( D)
    A:只有登录后的用户才能访问系统中的主页面。
    B:如果没有登录系统而直接访问主页面,则拦截器会将请求拦截,并转发到登录页面。
    C:如果用户名或密码错误,会在登录页面给出相应的提示信息。
    D:当已登录的用户在系统主页中单击“退出”链接时,系统会回到主页面。

四、 简答题

  1. 请简述拦截器HandlerInterceptor接口中的方法并做说明。
    HandlerInterceptor接口中有3个方法:
    preHandler()方法:该方法会在控制器方法前执行,其返回值表示是否中断后续操作。当其返回值为true时,表示继续向下执行;当其返回值为false时,会中断后续的所有操作。
    postHandle()方法:该方法会在控制器方法调用之后,且解析视图之前执行。可以通过此方法对请求域中的模型和视图做出进一步的修改。
    afterCompletion()方法:该方法会在整个请求完成,即视图渲染结束之后执行。可以通过此方法实现一些资源清理、记录日志信息等工作。

《推荐文章》
Java Web开发系列课程:Spring框架入门【源码】!!!
框架设计–第一章 Spring的基本应用–习题答案
框架设计–第二章 Spring中的Bean–习题答案
框架设计–第三章 Spring AOP–习题答案
框架设计–第四章 Spring的数据库开发–习题答案
框架设计–第五章 Spring的事务管理–习题答案
框架设计–第六章 初识MyBatis–习题答案
框架设计–第七章 MyBatis的核心配置–习题答案
框架设计–第八章 动态SQL–习题答案
框架设计–第九章 MyBatis的关联映射–习题答案
框架设计–第十章 MyBatis与Spring的整合–习题答案
框架设计–第十一章 Spring MVC入门–习题答案
框架设计–第十二章 Spring MVC的核心类和注解–习题答案
框架设计–第十三章 数据绑定–习题答案
框架设计–第十四章 JSON数据绑定和RESTful支持–习题答案
框架设计–第十五章 拦截器–习题答案
框架设计–第十六章 文件上传和下载–习题答案
框架设计–第十七章 SSM框架整合–习题答案
框架设计–第十八章 BOOT客户管理系统–习题答案


文章整理不易,如有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包,后续持续更新。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring MVC 的拦截器是一种可插拔的组件,它可以在请求到达控制器之前或者返回视图之前对请求进行处理。Spring MVC 支持单个拦截器或者多个拦截器,下面分别介绍它们的工作流程。 1. 单个拦截器的工作流程 单个拦截器的工作流程如下: - 当一个请求到达 DispatcherServlet 时,DispatcherServlet 创建一个 HandlerExecutionChain 对象,该对象包含了一个或多个处理器拦截器和一个处理器(即控制器)。 - 在执行处理器之前,DispatcherServlet 调用拦截器的 preHandle 方法,如果该方法返回 true,则继续执行下一个拦截器或者执行处理器。 - 在执行完处理器之后,DispatcherServlet 调用拦截器的 postHandle 方法,该方法可以修改 ModelAndView 对象,但不能改变视图。 - 当视图渲染完成后,DispatcherServlet 调用拦截器的 afterCompletion 方法,该方法可以进行一些资源清理操作。 2. 多个拦截器的工作流程 多个拦截器的工作流程类似于单个拦截器的工作流程,只是多了一些拦截器的调用。 - 当一个请求到达 DispatcherServlet 时,DispatcherServlet 创建一个 HandlerExecutionChain 对象,该对象包含了多个处理器拦截器和一个处理器(即控制器)。 - 在执行处理器之前,DispatcherServlet 按照拦截器的声明顺序调用每个拦截器的 preHandle 方法,如果有任何一个拦截器的 preHandle 方法返回 false,则停止拦截器执行,并返回错误视图。 - 在执行完处理器之后,DispatcherServlet 按照拦截器的声明顺序倒序调用每个拦截器的 postHandle 方法,该方法可以修改 ModelAndView 对象,但不能改变视图。 - 当视图渲染完成后,DispatcherServlet 按照拦截器的声明顺序倒序调用每个拦截器的 afterCompletion 方法,该方法可以进行一些资源清理操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桥君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值