從零寫乙個Java WEB框架(一)

2021-08-20 15:09:56 字數 1999 閱讀 5456

從乙個簡單的servlet專案開始起步。對每一層進行優化,然後形成乙個輕量級的框架。

每一篇,都是針對專案的不足點進行優化的。

專案已放上github

乙個非常基礎的servlet專案。

基本功能是:

- 對資料表-客戶表進行資料處理。

例如:客戶的資料獲取

controller 層

/*

* 獲取客戶端的資料

}

思路:

- 通過httpservletrequest獲取到路徑上的值,然後對比值,執行相應的servlet方法。

server 層中的獲取所有客戶資訊的方法

/*

* 獲取客戶列表

* */

public

list

getcustomerlist()

return

list;

}

思路:

- 從資料庫中獲取到資料後,將資料填寫到物件裡面

缺陷:

- **太過臃腫。本來獲取客戶列表資料就3步。1 查詢 2 資料賦值給新物件 3 將新物件存進集合。 在第二步 資料賦值給物件 **靈活性不高,如果物件類有修改,這裡也將需要修改,耦合度高。所以需要賦值這一步需要封裝一下。

在customerservice 層 載入資料庫

public

class

customerservice catch (classnotfoundexception e)

}

思路:

- 利用靜態**塊,載入jdbc驅動

缺陷:

- 把jdbc驅動載入解除安裝service層,那麼每個service類都需要載入一次jdbc驅動。所有應該提取出來,只需要載入一次就可以。

載入properties檔案 工具類

/*

* 載入屬性檔案

* */

public

static properties loadprops(string filename) catch (ioexception e) finally catch (ioexception e) }}

return

null;

}

url:localhost:8080/customer_show?method=getlist結果:

乙個專案的基本結構已經是實現出來了。從前端訪問到返回資料。可以說現在是可以完成基本業務的。但是這個專案如果需要擴充套件,那需要修改的地方就會很多。所以,為了增加專案的可擴充套件性,將會對專案進行優化,主要方向是對**進行封裝,降低耦合度。

從零寫乙個Java WEB框架(一)

從乙個簡單的servlet專案開始起步。對每一層進行優化,然後形成乙個輕量級的框架。每一篇,都是針對專案的不足點進行優化的。專案已放上github 乙個非常基礎的servlet專案。基本功能是 例如 客戶的資料獲取 controller 層 獲取客戶端的資料 思路 server 層中的獲取所有客戶資...

從零寫javaweb框架 七 初始化框架

集合上幾篇編寫的classhelper beanhelper iochelper controllerhelper,我們現在需要做的是在專案啟動時把他們都載入進來。package org.smart4j.framework import org.smart4j.framework.helper.be...

自己寫乙個框架

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