26第二十六讲基于Servlet的购物车

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第二十六讲基于Servlet的购物车16.1商品存储和浏览***温故***知识回顾过滤器的工作原理过滤器可以访问客户端输入的请求和向客户端输出的响应过滤器的创建与部署创建过滤器类在web.xml对过滤器进行部署过滤器接口Filter每次用户发送请求或向客户端发送响应时都会调用doFilter()方法FilterChain的doFilter()方法用于调用过滤器链中的下一个过滤器作业中的问题过滤器的在web.xml中的配置filter-mapping配置过滤的URL时,按实际情况进行配置***知新***学习目标了解购物车业务流程,通过购物车的设计思路,掌握MVC设计模式的设计思想。本讲要点购物车业务流程数据库设计模块设计MVC设计模式购物车商品显示购物车业务流程什么是购物车?购物车是网上购物平台中的一个重要模块购物车业务流程商品信息浏览删除购物车中商品继续购物查看购物车将商品放入购物车结账开始结束商品购物车数据库设计数据库:cart,描述商品信息与用户信息商品信息表:productspid-商品编号pname-商品名称pdesc-商品说明ptime-进货日期price-单价number-库存数量用户表:usersuname-用户名upwd-密码email-email地址addr-通信地址模块设计商品浏览显示商品信息用户选购商品(将商品添加到购物车)购物车管理显示购物车中的商品信息(允许继续购物)修改购物信息(数量修改)删除购物车中商品结账(只允许登录用户访问)JavaWeb应用设计模式什么是设计模式?在软件开发时采取的一种架构方案。为什么要使用设计模式?按照一定的模式开发JSP,使业务逻辑与表示逻辑分离,使得Web应用易于团队协作开发,易于维护。JSP设计模式种类使用JSP技术开发Web应用,一般有两种模式可供选择:模式1、模式2JSP设计模式1请求应用服务器响应JSP页面JavaBean数据库服务器采用JSP+JavaBean的技术JSP独自响应请求并发送处理结果给用户,数据通过JavaBean来处理是JSP技术发展初期经常采用模式1,适用于一些小型开发项目。JSP设计模式2-MVC模型采用JSP+JavaBean+Servlet技术MVC(Model-View-Controller)模型,适用于中型以上开发项目“模型-视图-控制器”关系图:(控制器)接受用户请求控制界面数据显示更新模型对象状态(视图)显示模型状态(界面)(模型)代表应用程序状态(数据Bean)业务处理流程(业务Bean)选择视图业务处理用户请求通知数据更新状态查询模式2架构示意图Web服务器Servlet(控制器)JSP(视图)JavaBean(模型)数据库浏览器请求响应选择视图更新模型Servlet中的请求转发机制案例:110报警中心收到群众报警电话,根据报警内容(地点、紧急程度等),将报警请求交由不同派出所处理。110报警中心充当调度员的角色,好处是:给人们提供统一的报警方式(拨打110)可根报案人地点与派出所位置等,合理调度资源,及时出警报警中心不处理具体案件,缩短报警请求的响应Web应用中,常由Servlet来充当调度员的角色,把这样的Servlet叫控制器可以将请求转发给另一个Servlet或JSP页面,由它们对请求作进一步处理,并产生对请求的响应。Servlet中实现请求转发实现请求转发需要用到RequestDispatcher接口voidforward(ServletRequestrequest,ServletResponseresponse)ReuqestDispatcher对象的获取通过请求对象的getRequestdispatcher(Stringpath)方法获取。path:必须以/开始,它对应于Web应用的根目录。如:/index.jsp,表示Web应用根目录下的index.jsp文件运用MVC模式开发WEB应用的步骤定义bean来表示数据和封装业务逻辑定义数据Bean来表示需要显示给用户的结果定义业务Bean来封装业务逻辑使用Servlet处理用户请求根据用户请求,将数据的处理结果写入bean,并将其存于请求或会话的上下文中通过请求转发的形式,将请求转发到合适的页面,servlet不需要创建任何输出,输出由JSP页面完成JSP页面输出结果从bean中获取数据输出总之:JSP作界面Servlet接受用户请求,并作初步处理,然后将请求进行转发业务处理借助Bean采用MVC模式的购物车商品显示定义表示商品信息的数据Bean-item.java类,属性如下:id-商品IDpname-商品名称pdesc-商品详细信息price-商品单价number-商品库存定义DataBean.java封装数据库操作定义Servlet-EShoping.java用于查询所有商品,将商品信息存于请求上下文将请求转发至index.jsp网页编写index.jsp网页,从请求上下文中获取商品信息,并显示输出几个文件的调用关系三者关系:EShoping中获取的商品信息,调用DataBean类访问数据库每一条商品信息保存在一个item对象中,所有商品对象按序置于一个大小可变数组中,数组中每个元素为一个商品信息对象index.jsp从请求对象中获取这个可变数据,并取出每个元素(item对象)进行显示。EShoping.javaDataBean.javaitem.javaindex.jspEShoping.java关键代码response.setContentType(text/html;charset=UTF-8);PrintWriterout=response.getWriter();DataBeanda=newDataBean();Stringsql=select*fromproductsorderbyptimedesc;ResultSetrs=null;ArrayListlist=newArrayList();//创建大小可变数组try{rs=da.query(sql);//查找所有商品while(rs!=null&&rs.next()){itemobj=newitem();//创建商品信息对象obj.setId(rs.getInt(pid));obj.setNumber(rs.getInt(number));obj.setPdesc(rs.getString(pdesc));obj.setPname(rs.getString(pname));obj.setPrice(rs.getFloat(price));list.add(obj);//将商品信息对象添加到数组}EShoping.java关键代码da.closeConn();request.setAttribute(list,list);//将商品信息写入请求上下文//将请求转发至index.jsprequest.getRequestDispatcher(index.jsp).forward(request,response);}catch(Exceptione){out.print(e.toString());}finally{out.close();}index.jsp-关键代码%ArrayListlist=(ArrayList)request.getAttribute(list);if(list==null){response.sendRedirect(EShoping);return;}elsefor(inti=0;ilist.size();i++){itemobj=(item)list.get(i);%……输出详细信息%}%小结购物车业务流程网上购物流程数据库设计根据需要设计数据库模块设计划分功能模块MVC设计模式什么是MVC模式?模型-视图-控制器购物车商品显示采用MVC模式实现作业1、总结购物车的业务流程。2、思考MVC设计模式的特点3、编程:为购物车系统添加用户注册模块,要求采用MVC模式实现。实训二十六商品存储与浏览实训目的了解购物车业务流程,掌握ArrayList类的使用方法,理解MVC设计模式,掌握商品信息显示模块的实现技术,并能够MVC模式解决一定的实际问题。实训内容调试购物车系统中的商品显示模块编写程序实现MVC模式的用户注册模块实训要求总结在调试程序过程中遇到的问题及解决问题的方法

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功