




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章上机基于Servlet的MVC设计模式相关回顾什么是MVC设计模式?MVC设计模式各部分对应的组件是什么?上机目标教员讲解上机目标升级网上订餐系统,实现如下功能:
1、在购物车页面点击“结帐”按钮,进入结帐页面
2、在结帐页面填写并提交结帐信息到数据库
3、结帐完毕,跳转到结束页面
在购物车页面/ch05/shopCart.jsp中点击“结帐”按钮
跳转到结帐页面/ch05/checkOut.jsp显示付款金额填写提交信息确认信息并提交提交成功,跳转到结束页面/ch05/seeYou.jsp训练技能点会进行MVC的应用开发开发环境准备1、在restrant工程/src目录下建立/ch05目录2、在restrant工程/webRoot目录下建立/ch05目录3、在/webRoot目录下,将/ch04目录下的全部文件复制到/ch05目录下开发环境准备阶段1训练要点:
MVC设计模式中视图的应用开发需求说明:
网上订餐系统结帐功能-视图实现思路
讲解需求说明阶段2实现思路及关键代码:
1、修改/src/ch04/AddFoodToCart.java中的跳转语句
2、实现购物车页面“结帐”按钮//如果session不存在,转向/ch05/show.jspif(session==null){dispatcher=request.getRequestDispatcher("/ch05/show.jsp"); //转向/ch05/shopCart.jsp显示购物车
......dispatcher=request.getRequestDispatcher("/ch05/shopCart.jsp");将目录/ch04改为/ch05<formmethod="POST"action="/restrant/ch05/checkOut.jsp">在购物车页面,点击“结帐按钮”,提交POST请求到结帐页面/ch05/checkOut.jsp阶段2实现思路及关键代码:
3、实现结帐页面/ch05/checkOut.jsp<form......>//显示付款金额:
doubletotal=((Double)session.getAttribute("total")).doubleValue();out.println(newDecimalFormat("0.00").format(total));</form>//从session中取出付款金额,并转换为double类型//向页面输出格式化后的付款金额<formmethod="POST"action="/restrant/OrderServlet">//提交结帐信息:提交 送货地址信息:<inputtype="text"name="address">......</form>//用POST协议提交数据给控制器/src/ch05/OrderServlet.java//提交各项结帐信息订餐人、送货地址、邮政编码......讲解实现思路和关键代码阶段2阶段3完成时间:25分钟需求说明:实现网上订餐系统结帐功能-视图
1、修改/src/ch04/AddFoodToCart.java当中的跳转语句
2、实现购物车页面/ch05/shopCart.jsp“结帐”功能
3、实现网上订餐系统结帐页面/ch05/checkOut.jsp
AddFoodToCart.java
shopCart.jspcheckOut.jsp
在购物车页面/ch05/shopCart.jsp中点击“结帐”按钮
跳转到结帐页面/ch05/checkOut.jsp显示付款金额填写提交信息确认信息并提交常见调试问题及解决办法代码规范问题共性问题集中讲解阶段3训练要点:
MVC设计模式中模型的应用开发需求说明:网上订餐系统结帐功能-模型实现思路
讲解需求说明阶段4实现思路及关键代码:1、在数据库中建立订单信息表foodOrderInfo2、在模型类中建立saveOrder方法
publicintsaveOrder(StringcustomerName,//订餐人
Stringaddress, //送餐地址 StringzipCode, //邮政编码
......){}讲解实现思路和关键代码阶段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();实现思路及关键代码:3、实现saveOrder()方法,执行数据库操作
//取得数据库连接//sql语句-向数据库foodOrderInfo表中插入订单信息//返回预执行语句//依次设置insertsql语句中values()参数值//执行并返回sql语句执行结果集讲解实现思路和关键代码阶段4需求说明:实现网上订单系统结帐功能-模型
1、在restrant数据库中建立订单信息表foodOrderInfo (建库脚本由教员提供)
2、实现结帐功能模型类/src/ch05/OrderModel.java
OrderModel.java完成时间:25分钟阶段5常见调试问题及解决办法代码规范问题共性问题集中讲解阶段5训练要点:
MVC设计模式中控制器的应用开发
需求说明: 网上订餐系统结帐功能-控制器实现思路
讲解需求说明阶段6实现思路及关键代码:
1、定义doPost方法,获取结帐页面/ch05/checkOut.jsp提交的POST请求数据
2、取出付款金额HttpSessionsession=request.getSession();doubletotalPrice=((Double)session.getAttribute("total"))
.doubleValue();//从Session中取出付款金额,并转换为double类型阶段6实现思路及关键代码:
3、调用结帐功能模型类,将数据存入数据库表中
4、跳转到结束页面,销毁Session数据OrderModelom=newOrderModel();om.saveOrder(customerName,address,zipCode,telephone, movePhone,notice,totalPrice);request.getRequestDispatcher("/ch05/seeYou.jsp") .forward(request,response);HttpSessionsession.invalidate();//调用OrderModle类的saveOrder()方法,将数据插入数据库中foodOrderInfo表中//跳转到结束页面/ch05/seeYou.jsp//清除Session中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度班组施工安全防护合同范本
- 二零二五年度高校信息化建设IT设备正规购销合同
- 中考交际用语说课课件
- 教学设计《花的结构和类型》
- 春季幼儿园保育工作方案
- 美术工作方案总结
- 幼儿园大班春季第一周工作方案
- 综合与实践最短路径问题课件人教版八年级数学上册
- 网站整改方案
- 实习教学工作总结
- GB/T 7573-2025纺织品水萃取液pH值的测定
- 肾内科护士长述职报告
- 新闻发言人培训
- 实验室安全操作培训内容
- 第五讲-铸牢中华民族共同体意识-2024年形势与政策(讲稿)
- 2025年中国城市集中供热行业市场全景分析及投资前景展望报告
- 2025年度电商直播平台主播直播内容版权购买合同3篇
- 压型机安全操作规程范文(2篇)
- 2024-2025学年部编版七年级历史第二学期期末测试卷(含答案)
- 石化应急培训课件
- 铁路运输效率评价指标体系-洞察分析
评论
0/150
提交评论