第十五章 拦截器--习题答案

课程介绍:“框架技术”是软件工程专业的核心课程,是本专业限选课,是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()方法:该方法会在整个请求完成,即视图渲染结束之后执行。可以通过此方法实现一些资源清理、记录日志信息等工作。

整理不易,如有帮助请点赞支持!

发布了19 篇原创文章 · 获赞 2 · 访问量 543

猜你喜欢

转载自blog.csdn.net/weixin_46218781/article/details/104427351