六 自定義MVC

2021-08-02 16:19:10 字數 2007 閱讀 1719

一、model1與model2:

model1:就是一種純jsp開發技術,將業務邏輯**和檢視渲染**雜糅在一起。

model2:model2是在model1的基礎上,將業務邏輯的**分離開來,單獨形成乙個servlet,model2也是基於mvc開發

二、mvc設計模式:

由3個部分組成,各部分作用如下:

model:模型,主要用於資料和業務的處理

view:檢視,用於資料的顯示

controller:控制器,用於進行流程控制

mvc設計模式的特點:

①乙個模型可以對應多個檢視

②顯示與邏輯控制的分離

③分層控制,減輕了**間的耦合

具體實現步驟如下:1、定義個servlet(actionservlet)控制所有的*.do請求

2、獲得請求路徑(request.getrequesturi()),擷取到後面的請求名(cname)

3、在webinf下建立乙個config.properties檔案,儲存乙個鍵值對,根據不同的請求得到其對應的class,同時建立好對應的處理類

4、在servlet的init方法中載入配置檔案

properties config=new properties();

string path=this.getservletcontext.getrealpath();//得到其絕對路徑

path=path+"/web-inf/config.properties";

config.load(new fileinputstream(path));//載入到記憶體中來

string classname=config.getproperty(cname);

6、將"/web-inf/config.properties"存入到web.xml檔案中,並通過**取出

string sname=this.getservletcontext().getinitparameter("config");

7、根據取出來的類名(全路徑名),例項化物件

class.forname(classname).newinstance();

8、新建乙個介面(action),宣告方法execute();將所有的實現類繼承action介面

9、將class.forname返回的物件統一為轉換為action,再統一的呼叫execute()方法(多型)

10、修改介面的方法execute(),讓其帶引數(request,response),其所有的繼承類對應的做修改,保證 能從actionservlet傳送到對應頁面

11、將action存入到乙個池中,步驟:先在init方法中建立乙個池(properties),再在dopost方法中判斷,以保證每乙個類只會 被例項化一次

自定義MVC框架

第一步 用乙個容器 或者servlet類 filter類 接受請求 一般在web.xml中進行配置,攔截請求到actionservlet 控制servlet 中。第二步 分割請求路徑 得到請求訪問類以及訪問方法的標示字串 解析請求的url路徑,讀取配置檔案。第三步 通過字串獲得action類物件以及...

自定義MVC框架

mvc全名是model 模型 view 檢視 controller 控制器 的縮寫。是一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 v jsp 表現層 c servlet action m 實體域模型 名詞 實體類 過程域模型 動詞,如實體類要做curd dao方法 注意 由上而下...

MVC自定義路由引數

建立乙個類,該類繼承並實現介面介面irouteconstraint。該介面在system.web.dll的system.web.routing命名空間下。事例中限制引數輸入長度必須大於5,如下 public class inputlengthconstraint irouteconstraint r...