1. @Controller
  2. @Controller用于标记在一个类上,使用它标记的类就是一个SpringMvc Controller对象,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解。
  3. @Controller只是定义了一个控制器类,而使用@RequestMapping注解的方法才是处理请求的处理器。
  4. @Controller标记在一个类上还不能真正意义上说它就是SpringMvc的控制器,应为这个时候Spring还不认识它,这个时候需要把这个控制器交给Spring来管理。有两种方式可以管理:
  5. 允许访问的方法Request Get Post
  6. @RequestMapping("/file")
  7. @GetMapping("/any")
  8. @PostMapping("/upload")
  9. @RequestParam("file") 请求参数
  10. redirectAttributes.addAttributie("prama",value); 重定向之后追加参数
  11. redirectAttributes.addAttributie("prama1",value1);
  12. redirectAttributes.addAttributie("prama2",value2);
  13. return:"redirect:/path/list"
  14. 以上重定向的方法等同于 return:"redirect:/path/list?prama1=value1&prama2=value2 "
  15. MultipartFile
  16. MultipartFilespring类型,代表HTMLform data方式上传的文件,包含二进制数据+文件名称

文件上传判断

  1. 图片上传业务流程:
  2. -->用户上传图片-->获取文件后缀-->创建相同文件后缀的临时文件
  3. -->将文件流写入临时文件
  4. -->(判断文件后缀是否在白名单)-->(判断文件MIME是否在黑白名单)
  5. -->isImage()判断文件内容是否是图片
  6. -->成功则保留临时文件,失败直接删除临时文件