我寫的乙個mvc框架講解之一

2021-06-28 12:16:22 字數 1056 閱讀 2518

struts2一堆煩人的配置檔案和對映關係,對於剛不熟悉的人來說,完全是霧水,得通過對配置檔案的分析才能找得到對應呼叫的類和方法,雖然可以通過註解來簡化配置檔案,達到零配置狀態,但是struts2在某些效能要求較高的專案上使用還是存在一定的效率問題,如果採用零配置在返回值檢視的處理上不夠靈活,必須要帶入註解。

springmvc相比於struts2來說,處理流程比較清晰,mvc模式分的較為清楚,但是springmvc對於控制層並不像struts2一拉的對每乙個請求都新建乙個對像,乙個是方法級別的訪問,乙個是類級別的訪問,所以springmvc對每乙個方法都要配置註解,看著就煩人,在查詢起來非常麻煩,對於新手來說,看到前台呼叫的方法,去查詢對應的方法非常困難,在簡潔程式上不如struts2的零配置,採用約定大於配置。

為了去除上述兩個框架比較煩人的配置,我本打算修改springmvc來達到約定大於配置,不在寫一些煩人的配置,但是最後在看了springmvc的原始碼後,我發現修改起來比較麻煩,於是在去年國床,決定自己造乙個車輪,一是為了更好的理解mvc模式,二是為了解決採用開源框架如果修改了原始碼,在框架公升級後不易改動。

整個框架採用零配置,約定大於配置,只需要在web.xml引入乙個欄截器,並配置相應的自定義欄截器所在的包和類的工廠,可以和spring進行對接,配置就基本完成了

前台的訪問非常簡單如下圖需要呼叫codecontroller的list方法,只需要code!list.do或者code/list.do就可以呼叫,對於返回檢視非常簡單,框架已經定義了大部份通用的檢視,只需要呼叫就可以了,如果存在自定檢視只需要返回  (檢視類名:路徑)就可以

前台資料傳送如上圖中的tbcode資料模型,在前台採用tbcode.***方式就可以把值傳到對應的模型中,和sturts2一樣。

自己寫乙個框架

自己寫乙個框架 單入口mvc 類 庫 屬於擴充套件 乙個好的配置檔案和讀取功能 db介面 dispather.php index.php dispather 分析controller action 根據分析controller action 動態載入 引入乙個自動載入機制 controller.ph...

寫乙個ExtJs的頁面框架

今天試著寫了乙個extjs的頁面展現,就是乙個大框,沒什麼功能,供以後在應用的時候作為參考,頁面的結構是 左邊乙個樹,右面乙個tabpanel,tabpanel中通過iframe套了乙個grid,首先是index頁面 index頁面中定義乙個 index.js 如下 ext.onready func...

想寫乙個ORM的框架

其實也是受公司框架啟發,公司寫bean都是自動生成,只要在乙個web應用中輸入包名和表名,就能自動生成bean,其中一種bean是普通的pojo,是資料庫表的一些字段,加上setget方法,另外一些就是增刪改查的table類。以上雖然看不到如何實現,但是無非也就是讀取databasemeta和res...