MVC三層架構
阿新 • • 發佈:2017-07-02
接口 ttr 視圖 回寫 業務邏輯層 命名規範 cti bean 文件路徑
需求:
註冊登錄;
# 知識補充;
>> MVC模型;
|-- M 模型;
|-- V 視圖;
|--
>> 基本概念;
|-- 層級之間的調用關系;
|-- V層接收前臺數據,也反饋C層處理完畢的M層數據;
|-- C層負責操作前臺數據並調用M層;
|-- M層負責存儲數據;
>> M層;
一般由javaBean充當;
|-- 業務模型;
|-- 對應三層結構中間的業務邏輯層;
|-- 三層結構簡析;
> 表示層;
> 業務邏輯層;
> 數據訪問層;
---------------
> 業務實體層;
> 控制層;
> 工具類
|-- 註意;
> MVC不屬於三層結構;
|-- 命名規範
com.itheima.service
com.itheima.service.impl
|-- 數據模型;
|-- 對應三層結構的數據訪問層;
|-- 命名規範
com.itheima.dao
com.itheima.dao.impl
|-- 實體模型;
|-- 命名規範
com.itheima.domai
>> V層;
一般由jsp/html來充當;
>> C層;
一般由servlet/action來充當;
|-- 命名規範
com.itheima.web.controller
com.itheima.web.form
# 案例開始的準備工作;
>> 使用xml存儲數據;
|-- 導入需要使用的jar包
> dom4j
> dom4j-xx.jar
> jaxen-xx.jar
> beanutils
> commons-beanutils-xx.jar
> commons-log4j--xx.jar
|-- 準備xml文件
|-- 數據結構;
> 操作子節點
user
ursername
password
email
birthday
> 操作屬性;
<user username="" password="" ...>
>> 準備實體類;
>> 實現Dao的接口設計;
|-- dao的實現類;
|-- 為了實現xml文件更好的操作,做一個單獨的工具類;
>> Dao實現類及單元測試;
# 步驟;
>> 建立XML
>> 建立userbean類;
>> 建立UserDao --- Interface
|-- 定義內部方法;
> addUser(User user);//添加用戶
> User getUserByUsername(String username);//判斷用戶是否存在;
> User getUserByUsernameAndPassword(String username,String password);//登錄時校驗用戶名和密碼的匹配;
>> 建立Dom4jUtil工具類;
|-- 定義內部方法;
> Document getDoument(){
獲取並返回Document對象;
}
> static{
獲取類加載器;
獲取users.xml文件路徑;
獲取這個文件的絕對路徑;
}
> writeDocument2Xml(){
獲取XMLWriter 對象,在構造參數中接收文件和書寫格式;
將其寫入document對象;
關流;
}
>> 建立UserDaoImpl類,實現UserDao接口;
|-- 實現接口中的具體方法;
> 得到Document 對象
> 得到根節點;
Element root =document.getRootElement();
> 添加一個新節點
Element userEle= root.adElement("user");
> 添加四個屬性及對應值;
userEle.addAttribute("username",df.format(user.getUsername())).addAttribute("password",user.getPassword()).addAttrubiute("birthday",user.getBirthday()));
> 回寫入XML文件;
Dom4jUtil.writeDoucment2XML(document);
|-- User getUserByUsername(String username);
> 得到Document對象;
> 用xpath查找節點;
> 進行判斷;
|-- 如果不為空
> 封裝屬性;
> 在遇到日期屬性時,需要用BeanUtils中的方法對其進行轉換;
>> 建立Test類,進行JUniut單元測試;
>> 建立UserService接口,實現業務邏輯;
|-- regist(User user)// 註冊方法;
|-- 判斷該用戶名是否可用;
|-- 是:註冊;
> 判斷u是否為空;
> 是空則添加;
>否則...
|-- 否;拋出已存在異常;
|-- login(String username,String password)
>> 建立自定義異常類;
>> 建立index.jsp/longin.jsp/register.jsp;
>> 建立ControllerServlet類,用於進行操作控制;
>> 建立UserFromeBean類,用於封裝註冊界面的參數;
MVC三層架構