spring 中的拦截器和文件上传

一、拦截器

spring的拦截器,还是比较熟悉的,典型的AOP应用。

  • afterCompletion:等数据真正完成之后进行处理
  • postHandle:在目标方法执行完之后进行处理
  • preHandle:在目标方法之前进行处理

拦截器工作配置:

  • 配置需要拦截哪些请求
  • 拦截器放入容器中

 拦截器原理:

  • 根据当前请求,找到可以处理请求的handler和拦截器
  • 执行目标方法之前需要执行拦截器perhandler方法,顺序执行
  • 当perHandler返回false的时候,倒序触发已经执行过的拦截器的afterCompletion
  • 如果任何一个拦截器perHandler执行失败,直接跳出,不执行目标方法
  • 目标方法执行完成后,倒序会执行所有拦截器的postHandler
  • 前两步出现任务异常都会触发所有拦截器的 afterCompletion 方法
  • 页面渲染完成后,也会倒序触发afterCompletion 方法

 二、文件上传

文件上传也是常用的小功能,比较简单。

页面编写,注意多文件标签:

 接口参数接收:

文件类相关操作:获取流、转换成文件、空判断等等

文件上传的配置类:

  • 自动配置好了 StandardServletMultipartResolver 文件上传解析器
  • 属性信息放在MultipartProperties中
  • 先判断是否是文件解析
  • 判断是否是文件上传请求,这也是为什么需要那么写
  • 参数解析器来解析文件内容
  • 将request中的文件流封装成一个 Map

猜你喜欢

转载自blog.csdn.net/liming0025/article/details/120774019
今日推荐