SpringMVC文件上传源码分析前言

该如何研究SpringMVC的文件上传的源码呢?java

研究源码并非仅仅知道程序是怎样运行的,而应该从宏观的角度、不一样的立场去看待问题。以SpringMVC文件上传的源码为例(麻雀虽小,五脏俱全),咱们应该从下面几个方面去分析和研究:web

#1 文件上传的基本规则:以什么样的格式来传输数据?apache

  • get or post ?
  • 与其余字段如何共存 ?
  • 多文件上传?

#2 站在apache fileupload的角度架构

  • apache fileupload目的是想写一个通用的解析文件上传的jar包,能够供全部的java web框架来方便使用
  • 它对外应该提供哪些API来方便外界使用?它又须要外界的哪些参数?
  • 哪些内容应该是它作的?
  • 哪些内容不该该由它来作?

#3 站在SpringMVC框架的角度框架

  • 它再也不重复造轮子,使用其余一些jar包便可
  • 定义本身的方便用户使用的接口,如 MultipartFile、MultipartResolver,来屏蔽掉底层所使用的jar包
  • 须要将底层jar包和本身的接口结合起来

##因此不单单要理解程序,还须要理解总体的架构与思路,理清每个角色的职责范围。如当须要限制上传的文件大小时,这一部分是谁的职责呢?源码分析

##若是咱们都以上述方式要求本身,则源码分析才更有价值和意义,否则咱们永远就只能处在类与类跳转的迷雾中post

相关文章
相关标签/搜索