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

相關文章
相關標籤/搜索