SpringMVC文件上传源码分析前言
该如何研究SpringMVC的文件上传的源码呢? 研究源码并不是仅仅知道程序是怎样运行的,而应该从宏观的角度、不同的立场去看待问题。以SpringMVC文件上传的源码为例(麻雀虽小,五脏俱全),我们应该从下面几个方面去分析和研究: #1 文件上传的基本规则:以什么样的格式来传输数据? get or post ? 与其他字段如何共存 ? 多文件上传? #2 站在apache fileupload的角度 apache fileupload目的是想写一个通用的解析文件上传的jar包,可以供所有的java web框架来方便使用 它对外应该提供哪些API来方便外界使用?它又需要外界的哪些参数? 哪些内容应该是它做的? 哪些内容不应该由它来做? #3 站在SpringMVC框架的角度 它不再重复造轮子,使用其他一些jar包即可 定义自己的方便用户使用的接口,如 MultipartFile、MultipartResolver,来屏蔽掉底层所使用的jar包 需要将底层jar包和自己的接口结合起来 ##所以不仅仅要理解程序,还需要理解整体的架构与思路,理清每一个角色的职责范围。如当需要限制上传的文件大小时,这一部分是谁的职责呢? ##如果我们都以上述方式要求自己,则源码分析才更有价值和意义,不然我们永远就只能处在类与类跳转的迷雾中 来源: oschina 链接: https://my.oschina