Javaweb開發(fā)項(xiàng)目實(shí)例教程(idea版)——解析MVC開發(fā)規(guī)則

jsp演變歷史
早期只有servlet,只能使用response輸出標(biāo)簽數(shù)據(jù),非常的麻煩
后來有了jsp,簡化了servlet的開發(fā),如果過度使用jsp,在jsp中既寫大量的java代碼,又寫html表,造成難以維護(hù),難以分工協(xié)作
再后來,java的web開發(fā),借鑒MVC這種開發(fā)模式,使得這個(gè)程序的設(shè)計(jì)更加的合理性
MVC開發(fā)規(guī)則
一、WEB項(xiàng)目中工具類作用
1.entity包:實(shí)體類
2.dao包:對(duì)表文件進(jìn)行操作
3.util包:?封裝工具類
4.listener包:在作用域?qū)ο笊袭a(chǎn)生特定事件時(shí)指定事件處理方法
5.filter包:檢測請(qǐng)求合法性,對(duì)請(qǐng)求進(jìn)行增強(qiáng)處理
6.controller包:servlet進(jìn)行業(yè)務(wù)處理過程資源調(diào)用
7.jsp:將運(yùn)行結(jié)果寫入到響應(yīng)體
8.service包:提供業(yè)務(wù)處理方案
二、service類:
1.什么是業(yè)務(wù):
? ?就是瀏覽器發(fā)送的請(qǐng)求
2.業(yè)務(wù)特點(diǎn):
1)一個(gè)業(yè)務(wù)中往往包含多個(gè)分支任務(wù)
2)只有所有的分支任務(wù)都順利解決才可以判定任務(wù)處理成功
3.業(yè)務(wù)實(shí)現(xiàn)特點(diǎn):
例子:張三給李四轉(zhuǎn)賬4000
1)判斷張三是否是本系統(tǒng)用戶??
select count(*) from account where name=zs
2)判斷李四是否是本系統(tǒng)用戶
3)判斷張三賬戶余額是否充足??
select balance from account where name=zs
4)備份李四賬戶余額
5)更新張三賬戶余額-4000? ? ? ??
update account set balance=balance-4000 where name=zs
6)? 更新李四賬戶余額+4000? ? ? ? ? ?
特點(diǎn)1:業(yè)務(wù)實(shí)現(xiàn)過程,涉及開發(fā)工作量非常巨大
特點(diǎn)2:不同開發(fā)人員對(duì)于同一個(gè)業(yè)務(wù)提供解決方案不同
4. service 與? dao 之間關(guān)系
1)dao類一個(gè)方法用于提供對(duì)表文件中一種操作
2)service類一個(gè)方法用于提供對(duì)一個(gè)業(yè)務(wù)解決方案
3)? dao類中一個(gè)方法用于處理業(yè)務(wù)中一個(gè)分支任務(wù)
*****? service調(diào)用到****??
三、 MVC開發(fā)規(guī)則
1.指定了一次開發(fā)過程中必須出現(xiàn)角色有哪些
2.指定了一次開發(fā)過程中必須出現(xiàn)角色擔(dān)負(fù)職責(zé)
3.指定了一次開發(fā)過程中必須出現(xiàn)角色調(diào)用順序
四、一次開發(fā)過程中必須出現(xiàn)角色
1. C,controller object,控制層對(duì)象? Servlet接口實(shí)現(xiàn)類
2. M,? model? object,? ? ? ?業(yè)務(wù)模型層對(duì)象? service
3. V,? ?view? ?object? ?,? ? ? 視圖層對(duì)象? ? ? ?(響應(yīng)對(duì)象/jsp)
五、一次開發(fā)過程中必須出現(xiàn)角色擔(dān)負(fù)職責(zé)
1.Servlet接口實(shí)現(xiàn)類:
1)【可以】調(diào)用請(qǐng)求對(duì)象讀取請(qǐng)求包信息
2) 【必須】調(diào)用Service對(duì)象處理業(yè)務(wù)
3) 【必須】調(diào)用視圖層對(duì)象將結(jié)果寫入到響應(yīng)體
2.Service類:
1)[可以]調(diào)用DAO處理分支任務(wù)
2)根據(jù)分支任務(wù)處理結(jié)果判斷業(yè)務(wù)是否處理成功
3)[必須]將處理結(jié)果返回給Servlet
3. view(jsp/response)
1) 將處理結(jié)果寫入到響應(yīng)體
六、一次開發(fā)過程中必須出現(xiàn)角色調(diào)用順序【固定】
1.調(diào)用流程:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??------->DeptDao
? ?瀏覽器---->Servlet----->Service
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -------->EmpDao
2.響應(yīng)流程
? ?DeptDao----->
? ? ? ? ? ? ? ? ? ? ? ? ? ?Service------>Servlet----->view----->響應(yīng)體---->瀏覽器
? ?EmpDao------>
七、部門職員管理系統(tǒng)缺陷:
1.servlet個(gè)數(shù)過多,維護(hù)比較困難
2.service dao對(duì)象個(gè)數(shù)不受控制,導(dǎo)致內(nèi)存壓力【service】
3.事務(wù)(transaction)無法進(jìn)行控制
? ?DeptService.deleteDept(){
? ? ?deptDao.delete() con2
? ? ?empDao.delete() con1
??}
最后奉上視頻教程??,視頻觀看效果更佳?。∽哌^路過別忘素質(zhì)三連哦~~


? ? ? ? ? ? ? ? ? ? ? ? ??
?