自定義MVC框架

2022-10-16 10:21:07 字數 1517 閱讀 3532

本章按照mvc的思路,我們實現乙個自定義的mvc框架(山寨版struts).

1. 新建web工程

2. 新建serlvet,這個servlet是中心控制器

在mvc設計模式中,我們要將所有的請求(例如,所有以 .do結尾的請求)交給同乙個servlet來處理,我們在請求這個servlet的時候,告訴這個servle

① 需要呼叫哪個業務邏輯

② 呼叫完業務邏輯之後,轉向到**。

這個servlet必須隨著web伺服器的啟動而啟動

新建乙個framework 包,這個servlet屬於這個自定義框架

在這個包中新建乙個servlet,該servlet繼承自httpservlet,用來處理所有以 .do結尾的請求

中部署這個servlet

3. actionservlet的作用

actionservlet需要做什麼事情?

根據使用者的請求,選擇需要呼叫的action類,這個action類是真正幹活的類。呼叫完畢之後,選擇對應的檢視然後進行跳轉,所以現在我們要解決兩件事情:

● 使用者的請求要與action類對應起來,要讓actionservlet知道什麼樣的請求對應什麼樣的action。例如請求 / 對應 loginaction類。我們想到使用屬性檔案來解決,在actionservlet啟動的時候讀取配置檔案。

● 由於action類有很多種,actionservlet事先不知道使用什麼樣的action,所以我們可以考慮使用介面來替代其它具體的action類,在該action介面中有乙個execute方法,actionservlet需要呼叫這個方法,同時返回乙個actionforward物件,這個actionforward物件也是我們自己定義的,它封裝了跳轉的路徑和跳轉的方式(請求**或者重定向),actionservlet根據返回的actionforward物件中的資訊決定跳轉到**,是使用請求**還是重定向。

4. 建立屬性檔案:

在src目錄中新建乙個 檔案

這個屬性檔案需要被actionservlet讀取,我們可以在actionservlet在進行初始化的時候進行讀取,所以在檔案中為actionservlet配置乙個初始化引數

5. action與actionforward

在framework包中新建乙個actionforward類,該類中封裝了actionservlet需要跳轉的路徑和跳轉的方式

在framework包中新建乙個action介面

6. actionservlet中的方法

actionservlet中的init 方法,將配置資訊讀入

doget方法中的**:

dopost方法

7. 使用自定義框架

至此,我們的框架開發完成。現在使用我們開發的框架完成登陸,開發登陸介面

我們的請求是提交給的,所以對應的action就是loginaction類,該類實現了action介面

在屬性檔案中配置:

前面已經配置過了

loginaction類

部署執行

8. 作業

利用剛才開發的框架,實現乙個簡單的加法器

自定義屬性

在這篇指南裡,我們將會看到如何自己建立屬性 attribute 並將其用到不同的程式實體 entity 上,在程式執行時獲取屬性資訊。屬性 attribute 是一種新型的宣告資訊。我們可以使用屬性來定義設計時的資訊 比如幫助檔案 文件的鏈結 以及執行時的資訊 比如將乙個類的域與乙個xml的域相關聯...

EXCEL自定義格式

用以下一段技巧來慶祝我轉正版主 一下excel中的自定義格式 本來想把下面的總結寫成一遍文的,但看了一下手頭的資料,覺得沒必要了,就直接寫條件和如何操作吧。1 若要大於等於60分的成績顯示為黑色,小於60的資料顯示紅色,則自定義為 紅色 60 黑色 60 2 若要資料以小數點對齊,自定義為 不過此格...

自定義設定技巧

如果要更改工作表的名字,一般都是利用 重新命名 命令來完成的。請問還有其他快速的方法嗎?答 其實只要用滑鼠左鍵雙擊工作表標籤名稱,然後就可以直接輸入新的名稱了。系統能夠自動為其自帶的資料型別 如星期 季度等 進行排序。請問如何讓自己定義的資料型別實現自動排序?答 要讓系統自動排序我們自己定義的資料型...