版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第五章上機(jī)基于Servlet的MVC設(shè)計(jì)模式相關(guān)回顧什么是MVC設(shè)計(jì)模式?MVC設(shè)計(jì)模式各部分對(duì)應(yīng)的組件是什么?上機(jī)目標(biāo)教員講解上機(jī)目標(biāo)升級(jí)網(wǎng)上訂餐系統(tǒng),實(shí)現(xiàn)如下功能:
1、在購(gòu)物車頁(yè)面點(diǎn)擊“結(jié)帳”按鈕,進(jìn)入結(jié)帳頁(yè)面
2、在結(jié)帳頁(yè)面填寫并提交結(jié)帳信息到數(shù)據(jù)庫(kù)
3、結(jié)帳完畢,跳轉(zhuǎn)到結(jié)束頁(yè)面
在購(gòu)物車頁(yè)面/ch05/shopCart.jsp中點(diǎn)擊“結(jié)帳”按鈕
跳轉(zhuǎn)到結(jié)帳頁(yè)面/ch05/checkOut.jsp顯示付款金額填寫提交信息確認(rèn)信息并提交提交成功,跳轉(zhuǎn)到結(jié)束頁(yè)面/ch05/seeYou.jsp訓(xùn)練技能點(diǎn)會(huì)進(jìn)行MVC的應(yīng)用開發(fā)開發(fā)環(huán)境準(zhǔn)備1、在restrant工程/src目錄下建立/ch05目錄2、在restrant工程/webRoot目錄下建立/ch05目錄3、在/webRoot目錄下,將/ch04目錄下的全部文件復(fù)制到/ch05目錄下開發(fā)環(huán)境準(zhǔn)備階段1訓(xùn)練要點(diǎn):
MVC設(shè)計(jì)模式中視圖的應(yīng)用開發(fā)需求說明:
網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-視圖實(shí)現(xiàn)思路
講解需求說明階段2實(shí)現(xiàn)思路及關(guān)鍵代碼:
1、修改/src/ch04/AddFoodToCart.java中的跳轉(zhuǎn)語(yǔ)句
2、實(shí)現(xiàn)購(gòu)物車頁(yè)面“結(jié)帳”按鈕//如果session不存在,轉(zhuǎn)向/ch05/show.jspif(session==null){dispatcher=request.getRequestDispatcher("/ch05/show.jsp"); //轉(zhuǎn)向/ch05/shopCart.jsp顯示購(gòu)物車
......dispatcher=request.getRequestDispatcher("/ch05/shopCart.jsp");將目錄/ch04改為/ch05<formmethod="POST"action="/restrant/ch05/checkOut.jsp">在購(gòu)物車頁(yè)面,點(diǎn)擊“結(jié)帳按鈕”,提交POST請(qǐng)求到結(jié)帳頁(yè)面/ch05/checkOut.jsp階段2實(shí)現(xiàn)思路及關(guān)鍵代碼:
3、實(shí)現(xiàn)結(jié)帳頁(yè)面/ch05/checkOut.jsp<form......>//顯示付款金額:
doubletotal=((Double)session.getAttribute("total")).doubleValue();out.println(newDecimalFormat("0.00").format(total));</form>//從session中取出付款金額,并轉(zhuǎn)換為double類型//向頁(yè)面輸出格式化后的付款金額<formmethod="POST"action="/restrant/OrderServlet">//提交結(jié)帳信息:提交 送貨地址信息:<inputtype="text"name="address">......</form>//用POST協(xié)議提交數(shù)據(jù)給控制器/src/ch05/OrderServlet.java//提交各項(xiàng)結(jié)帳信息訂餐人、送貨地址、郵政編碼......講解實(shí)現(xiàn)思路和關(guān)鍵代碼階段2階段3完成時(shí)間:25分鐘需求說明:實(shí)現(xiàn)網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-視圖
1、修改/src/ch04/AddFoodToCart.java當(dāng)中的跳轉(zhuǎn)語(yǔ)句
2、實(shí)現(xiàn)購(gòu)物車頁(yè)面/ch05/shopCart.jsp“結(jié)帳”功能
3、實(shí)現(xiàn)網(wǎng)上訂餐系統(tǒng)結(jié)帳頁(yè)面/ch05/checkOut.jsp
AddFoodToCart.java
shopCart.jspcheckOut.jsp
在購(gòu)物車頁(yè)面/ch05/shopCart.jsp中點(diǎn)擊“結(jié)帳”按鈕
跳轉(zhuǎn)到結(jié)帳頁(yè)面/ch05/checkOut.jsp顯示付款金額填寫提交信息確認(rèn)信息并提交常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解階段3訓(xùn)練要點(diǎn):
MVC設(shè)計(jì)模式中模型的應(yīng)用開發(fā)需求說明:網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-模型實(shí)現(xiàn)思路
講解需求說明階段4實(shí)現(xiàn)思路及關(guān)鍵代碼:1、在數(shù)據(jù)庫(kù)中建立訂單信息表foodOrderInfo2、在模型類中建立saveOrder方法
publicintsaveOrder(StringcustomerName,//訂餐人
Stringaddress, //送餐地址 StringzipCode, //郵政編碼
......){}講解實(shí)現(xiàn)思路和關(guān)鍵代碼階段4Connectioncon=DBConnection.getConnction();StringsqlStr="insertintofoodOrderInfo(customerName,address,zipCode,"+"telephone,movePhone,notice,totalPrice)values(?,?,?,?,?,?,?)";PrepareStatementpStatement=con.prepareStatement(sqlStr);pStatement.setString(1,customerName);......pStatement.setDouble(7,totalPrice);Resultresult=pStatement.executeUpdate();實(shí)現(xiàn)思路及關(guān)鍵代碼:3、實(shí)現(xiàn)saveOrder()方法,執(zhí)行數(shù)據(jù)庫(kù)操作
//取得數(shù)據(jù)庫(kù)連接//sql語(yǔ)句-向數(shù)據(jù)庫(kù)foodOrderInfo表中插入訂單信息//返回預(yù)執(zhí)行語(yǔ)句//依次設(shè)置insertsql語(yǔ)句中values()參數(shù)值//執(zhí)行并返回sql語(yǔ)句執(zhí)行結(jié)果集講解實(shí)現(xiàn)思路和關(guān)鍵代碼階段4需求說明:實(shí)現(xiàn)網(wǎng)上訂單系統(tǒng)結(jié)帳功能-模型
1、在restrant數(shù)據(jù)庫(kù)中建立訂單信息表foodOrderInfo (建庫(kù)腳本由教員提供)
2、實(shí)現(xiàn)結(jié)帳功能模型類/src/ch05/OrderModel.java
OrderModel.java完成時(shí)間:25分鐘階段5常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解階段5訓(xùn)練要點(diǎn):
MVC設(shè)計(jì)模式中控制器的應(yīng)用開發(fā)
需求說明: 網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-控制器實(shí)現(xiàn)思路
講解需求說明階段6實(shí)現(xiàn)思路及關(guān)鍵代碼:
1、定義doPost方法,獲取結(jié)帳頁(yè)面/ch05/checkOut.jsp提交的POST請(qǐng)求數(shù)據(jù)
2、取出付款金額HttpSessionsession=request.getSession();doubletotalPrice=((Double)session.getAttribute("total"))
.doubleValue();//從Session中取出付款金額,并轉(zhuǎn)換為double類型階段6實(shí)現(xiàn)思路及關(guān)鍵代碼:
3、調(diào)用結(jié)帳功能模型類,將數(shù)據(jù)存入數(shù)據(jù)庫(kù)表中
4、跳轉(zhuǎn)到結(jié)束頁(yè)面,銷毀Session數(shù)據(jù)OrderModelom=newOrderModel();om.saveOrder(customerName,address,zipCode,telephone, movePhone,notice,totalPrice);request.getRequestDispatcher("/ch05/seeYou.jsp") .forward(request,response);HttpSessionsession.invalidate();//調(diào)用OrderModle類的saveOrder()方法,將數(shù)據(jù)插入數(shù)據(jù)庫(kù)中foodOrderInfo表中//跳轉(zhuǎn)到結(jié)束頁(yè)面/ch05/seeYou.jsp//清除Session中的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024人力資源管理實(shí)習(xí)基地實(shí)習(xí)實(shí)訓(xùn)合作協(xié)議范本7篇
- 2024年環(huán)保設(shè)施維護(hù)保養(yǎng)與節(jié)能減排服務(wù)協(xié)議3篇
- 2024年度航空航天配件驗(yàn)收及快速響應(yīng)服務(wù)合同2篇
- 2024年度健身器材供應(yīng)鏈鋪貨及分銷合同3篇
- 2024年污水處理設(shè)備安裝及運(yùn)維服務(wù)協(xié)議版B版
- 2024事業(yè)單位職工培訓(xùn)進(jìn)修聘用合同編制指南3篇
- 2025小家電采購(gòu)合同范文
- 防火工程人工費(fèi)施工合同
- 教育培訓(xùn)機(jī)構(gòu)投資管理辦法
- 福建省南平市2023-2024學(xué)年高二上學(xué)期期末考試歷史試題(解析版)
- 收割機(jī)購(gòu)銷合同
- 醫(yī)務(wù)人員醫(yī)德醫(yī)風(fēng)誠(chéng)信 檔 案(模板)
- 膿毒癥休克中西醫(yī)詳解
- 小兔子乖乖ppt課件.ppt
- 常壓矩形容器設(shè)計(jì)計(jì)算軟件
- 交流變換為直流的穩(wěn)定電源設(shè)計(jì)方案
- PR6C系列數(shù)控液壓板料折彎?rùn)C(jī) 使用說明書
- 鋼結(jié)構(gòu)工程環(huán)境保護(hù)和文明施工措施
- 物業(yè)管理業(yè)主意見征詢表
- 管道定額價(jià)目表
- 民國(guó)文獻(xiàn)《潮州茶經(jīng)》
評(píng)論
0/150
提交評(píng)論