從乙個簡單的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...