1. 程式人生 > >MVC三層架構

MVC三層架構

接口 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三層架構