最近作項目,剛接觸到SpringMVC與FreeMarker框架,就簡單介紹一下本身的理解,不正確的地方請你們指教!!前端
1.Spring MVC工做原理:程序員
用戶發送請求--->前端服務器去找相對應的Cotroller--->在Controller中調用相應的接口,並將請求結果存放到model中---->將model中的值取出來渲染到前端界面上---->這樣就產生了用戶能夠看到的響應界面。數據庫
2.FreeMarker瀏覽器
轉載地址:http://www.oschina.net/p/freemarker/服務器
(1)簡介與工做原理框架
(2)特性.net
A、通用目標插件
可以生成各類文本:HTML、XML、RTF、Java源代碼等等設計
易於嵌入到你的產品中:輕量級;不須要Servlet環境對象
插件式模板載入器:能夠從任何源載入模板,如本地文件、數據庫等等
你能夠按你所需生成文本:保存到本地文件;做爲Email發送;從Web應用程序發送它返回給Web瀏覽器
B、強大的模板語言
全部經常使用的指令:include、if/elseif/else、循環結構
在模板中建立和改變變量
幾乎在任何地方均可以使用複雜表達式來指定值
命名的宏,能夠具備位置參數和嵌套內容
名字空間有助於創建和維護可重用的宏庫,或者將一個大工程分紅模塊,而沒必要擔憂名字衝突
輸出轉換塊:在嵌套模板片斷生成輸出時,轉換HTML轉義、壓縮、語法高亮等等;你能夠定義本身的轉換
C、通用數據模型
FreeMarker不是直接反射到Java對象,Java對象經過插件式對象封裝,以變量方式在模板中顯示
你可使用抽象(接口)方式表示對象(JavaBean、XML文檔、SQL查詢結果集等等),告訴模板開發者使用方法,使其不受技術細節的打擾
D、爲Web準備
在模板語言中內建處理典型Web相關任務(如HTML轉義)的結構
可以集成到Model2 Web應用框架中做爲JSP的替代
支持JSP標記庫
爲MVC模式設計:分離可視化設計和應用程序邏輯;分離頁面設計員和程序員
E、智能的國際化和本地化
字符集智能化(內部使用UNICODE)
數字格式本地化敏感
日期和時間格式本地化敏感
非US字符集能夠用做標識(如變量名)
多種不一樣語言的相同模板
F、強大的XML處理能力
<#recurse> 和<#visit>指令(2.3版本)用於遞歸遍歷XML樹
在模板中清楚和直覺的訪問XML對象模型