版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ā)需求說(shuō)明:
網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-視圖實(shí)現(xiàn)思路
講解需求說(shuō)明階段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分鐘需求說(shuō)明:實(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)試問(wèn)題及解決辦法代碼規(guī)范問(wèn)題共性問(wèn)題集中講解階段3訓(xùn)練要點(diǎn):
MVC設(shè)計(jì)模式中模型的應(yīng)用開發(fā)需求說(shuō)明:網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-模型實(shí)現(xiàn)思路
講解需求說(shuō)明階段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需求說(shuō)明:實(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)試問(wèn)題及解決辦法代碼規(guī)范問(wèn)題共性問(wèn)題集中講解階段5訓(xùn)練要點(diǎn):
MVC設(shè)計(jì)模式中控制器的應(yīng)用開發(fā)
需求說(shuō)明: 網(wǎng)上訂餐系統(tǒng)結(jié)帳功能-控制器實(shí)現(xiàn)思路
講解需求說(shuō)明階段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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券公司圍護(hù)樁施工合同
- 道路施工隊(duì)合作協(xié)議
- 農(nóng)村房屋拆遷補(bǔ)償合同
- 劇院排水設(shè)施安裝合同
- 培訓(xùn)零售環(huán)境防疫措施
- 醫(yī)療器械招投標(biāo)規(guī)范解讀
- 無(wú)抵押企業(yè)借款合同
- 通信設(shè)備質(zhì)量管理辦法
- 商業(yè)綜合體二手房交易合同范文
- 制造執(zhí)行系統(tǒng)操作與應(yīng)用課件 3-4-2典型離散制造工藝
- 換藥,拆線課件
- 生物武器1課件
- 家務(wù)勞動(dòng)我能行-完整版課件
- 部編版二年級(jí)語(yǔ)文上冊(cè)第9課-黃山奇石課件
- 國(guó)開電大 管理概論 形考任務(wù)一(畫組織結(jié)構(gòu)圖)
- 七年級(jí)數(shù)學(xué)上冊(cè)-找規(guī)律
- DB42T1319-2021綠色建筑設(shè)計(jì)與工程驗(yàn)收標(biāo)準(zhǔn)
- 市政給排水管道安裝工程監(jiān)理細(xì)則
- 結(jié)直腸的鋸齒狀病變及其腫瘤課件
- 《國(guó)家安全法》 詳解課件
- 最新鈉冷快堆中的結(jié)構(gòu)材料課件
評(píng)論
0/150
提交評(píng)論