YV12轉RGB24的計算轉換和bmp(dib)檔案的顯示儲存
MVC:指一種架構模式。用來將業務邏輯,資料,顯示分離的方法來組織程式碼。
M(model):模型。提供要展示的資料,因此包含資料和行為,可以認為是領域模型或JavaBean元件(包含資料和行為),不過現在一般都分離開來:資料DAO和行為Service。
V(view):檢視。負責進行模型的展示,一般就是我們看到的使用者介面,客戶想要看到的東西。
C(controller):控制器。接受使用者請求,委託給模型進行處理(狀態改變),處理完畢後把返回的模型資料返會給檢視,由檢視負責展示。也就是說控制器做了個排程員的工作。
職責:控制器: 1. 取得表單資料;2.呼叫業務邏輯;3.轉向指定的頁面;
模型: 1.業務邏輯; 2.儲存資料的狀態;
檢視: 1.顯示檢視。
作用:提高了程式碼的複用率和專案的擴充套件性,並且大大降低了專案的維護成本。
SpringMVC是Spring Framework的一部分,使基於Java實現MVC的輕量級Web框架。
SpringMVC的特點:
1. 輕量級,簡單易學
2. 高效,基於請求響應的MVC框架
3. 與Spring相容性好,無縫結合
4. 約定大於配置
5. 功能強大:RESTful,資料驗證,格式化,本地化,主題等;
6. 簡潔靈活
Spring的web框架圍繞DispatchServlet(排程Servlet)設計;SpringMVC框架像許多框架一樣,以請求為驅動,圍繞一箇中心Servlet分派請求以及提供
其他功能,DispatchServlet是一個實際的Servlet(它繼承了HttpServlet)
--涉及元件分析
1.DispatchServlet:前端控制器(不需要程式設計師開發)由框架提供,在web.xml中配置。
作用:接受請求,響應結果,相當於轉發器,中央處理器。
2.HandlerMapping:處理器對映器(不需要程式設計師開發)由框架提供,
作用:根據請求的URL查詢Handler(處理器/Controller),可以通過xml和註解方式來對映。
3.HandlerAdapter:處理器介面卡(不需要程式設計師開發)由框架提供,
作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler中的方法。
4.Handler:處理器,也稱之為Controller,需要程式設計師開發
注意:編寫Handler使要按照HandlerAdapter的要求去做,這樣介面卡才可以去正確執行Handler。
作用:接受使用者請求,呼叫業務方法處理請求,也稱之為後端控制器。
5.ViewReslover:檢視解析器(不需要程式設計師開發)由框架提供,
作用:進行檢視解析,把邏輯檢視解析成真正的物理檢視。
SpringMVC框架支援多種View檢視技術,包括:jstlView,freemarkerView,ThymelwafView等
6.View:檢視(需要程式設計師開發)
作用:把資料展現給使用者的頁面。View是一個介面實現類支援不同的View技術(jsp,freemarker,pdf等)
執行流程:
1.使用者發出請求被DispatchServlet攔截並進行處理
2.DispatchServlet收到請求呼叫HandlerMapping(處理器對映器)
3.HandlerMapping找到具體的處理器(查詢xml配置或註解配置),生成處理器物件以及處理器攔截器(如果有)
隨後再一起返回給DispatchServlet。
4.DispatchServlet呼叫HandlerAdapter(處理器介面卡)。
5.HandlerAdapter經過介面卡呼叫具體的處理器(Handler/Controller)
6.Controller執行完成後返回ModelAndView物件
7.HandlerAdapter將Controller執行結果ModelAndView傳給ViewReslover(檢視解析器)
8.DispatchServlet將ModelAndView後返回具體View(檢視)給DispatchServlet。
9.ViewReslover解析ModelAndView後返回具體View(檢視)給DispatchServlet。
10.DispatchServlet根據View進行渲染檢視(即將模型資料填充檢視中)。
11.DispatchServlet響應 View給使用者。