项目管理项目文档_第1页
项目管理项目文档_第2页
项目管理项目文档_第3页
项目管理项目文档_第4页
项目管理项目文档_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(项目管理)项目文档2020年4月多年的企业咨询顾问经验 经过实战险证可以落地施亍的卓越管理方案,值得您下载诩台:AJAX购物网站设计文档一、要实现的功能用户访问网站时,如未登陆成用户,则只可以查看网站中的商品信息不能购买商品。注 册为会员并登陆后,可以购买指定数量的商品,购买完所有商品后,用户可调用结帐功能对 所购买的商品进行结帐,在整个购买过程中,用户所购买的商品放在虚拟购物车中,并未记 录数据库中。二、AJAX技术在本例中的作用实现动态无刷新的页面效果,即通过动态改变页面中层的内容改变页面的内容。三、数据库模型设计图3-1数据库模型图描述:编号,库表名称,描述1,ngwc_commodi

2、ties,商品信息表2,ngwc_operlog,用户操作记录,存购买信息3,ngwc_user, 用户表4,ngwc_type,用户类型表四、类的设计.持久化类的设计图4-1持久化类类图描述:编号,类名描述1,NgwcCommodities,商品信息类2,NgwcOperlog,用户购买信息类,存购买信息3,NgwcUser,用户信息类4,NgwcType,用户类型类说明:持久化类的每个类的属性都有其对应的setter和getter方法,Hibernate 通过持久化类可进行数据库的操作。.虚拟购物车类的设计图4-2虚拟购物车类类图描述:编号,类名描述1,Cart,虚拟购物车类2,BeanI

3、tems,购物车中存放的每一个商品.数据库操作类的设计图4-3数据库操作类类图描述:编号,类名描述1,Dao,数据库操作类2,DaoImpl,数据库操作类的接口,定义的数据库操作类中实现在方法Dao类中实现的方法说明:ListshowAllComms( int start);/ 按分页得所有商品ListshowFindComms(Stringcommname, int start);/ 按查找得所有商品得查找的商品个数int getPages();/得所有商品总页数int getFindCommsPages(Stringcommname);/void addUser(NgwcUseruser)

4、;/向数据库添加一个用户NgwcUsergetUserInfo(Stringusername,Stringpassword);/通过用户名和密码得到用户信息public ListgetUserLogs(NgwcUseruser);/得到当前用户的购买记录publicboolean existUser(Stringusername);/ 是否存在用户boolean existUser(Stringusername,Stringpassword);/是否存在该用户名及密码对应的用户publicvoid saveLogs(NgwcOperloglogs);/保存 logspublicvoid upd

5、ateComms(NgwcCommoditiescomm,int num);/ 更新商品信息publicvoid updateUser(NgwcUseruser);/ 更新用户信息publicboolean registUser(NgwcUseruser);/添力口一个用户五、功能实现1.注册功能实现功能说明:用户点击首页中的注册链接后,页面中显示注册层供用户填写注册信息,当用户输入新注册的用户名时,ajax调用后台名为checkUser的servlet判断是否存在同名 用户,并返回判断的信息;当用户输入密码和确认密码时,判断密码是否和确认密 码相同;若以上两个条件同时满足,注册按钮可用,否刚

6、,注册按钮不可用。完成 输入信息后,点击注册按钮进行用户注册操作,注册操作完成后,系统自动为用户 完成登陆操作并返回首页。图5-1-1注册功能活动图图5-1-2注册功能顺序图描述:编号,名称,类型描述1,Index.jsp,页面文件首页页面2,ajax.js,Js文件,存放所有的javascript 函数3,checkUser,Servlet,检察是否存在同名用户4,RegistAction,Action,点击注册按钮后提交到的页面5,Session,Session对象,当前用户的 session6,Dao,类,数据库操作类2.登陆功能实现功能说明:用户点击完登陆链接后,在页面中显示登陆层用户

7、输入完用户名和密码后点击登陆按钮完成登陆操作。图5-2-1登陆功能活动图图5-2-2登陆功能顺序图编号,名称,类型描述1,Index.jsp,页面文件首页页面2,ajax.js,Js文件,存放所有的javascript 函数3,login,Servlet, 执行登陆操作4,Session,Session对象,当前用户的 session5,Dao,类,数据库操作类3 .显小所有冏品功能实现功能说明:根据是否已经登陆判断每一项商品的购买按钮是否可用,根据用户请求的页数从 数据库中查询出数据,生成数据集合,根据按钮可用信息及数据集合生成页面信息并回传显示。图5-3-1显不所有商品活动图图5-3-2显

8、布所有商品顺序图描述编号,名称,类型描述1,Index.jsp,页面文件首页页面2,ajax.js,Js文件,存放所有的javascript 函数3,ShowAllComms,Servlet,执行显示所有商品操作4,Session,Session 对象,当前用户的 session5,Dao,类,数据库操作类4.显示所有查找的商品功能说明:根据是否已经登陆判断每一项商品的购买按钮是否可用,根据用户请求的页 数及需要查询的商品名称从数据库中查询出数据,生成数据集合,根据按钮可用信息及 数据集合生成页面信息并回传显示。图5-4-1显示所有查找商品活动图图5-4-2显示所有查找商品顺序图描述编号,名称

9、,类型描述1,Index.jsp,页面文件首页页面2,ajax.js,Js文件,存放所有的javascript 函数3,ShowFindComms,Servlet, 执行显示所有查找商品的操作4,Session,Session 对象,当前用户的 session5,Dao,类,数据库操作类5.购买商品功能说明:用户在购买商品时,首先输入要购买的商品数量,如果要购买的商品数量大于库存的数量则不能执行购买操作,输入正确的数量后点击购买按钮执行购买操作,将用户购买的商品信息通过 ajax传给后台servlet进行操作,完成购买操作后,session中用户信息的用户帐户余额根据用户的折扣率及购买商品的金

10、额减去相应的数值,用户购买的商品信息将存入虚拟购物车实例。最后在首页中显示。图5-5-1购买商品时序图描述编号,名称,类型描述1,Index.jsp,页面文件首页页面2,ajax.js,Js文件,存放所有的javascript 函数3,Buy,Servlet,执行购买商品操作4,Session,Session 对象,当前用户的 session图5-5-2购买商品活动图6.从购物车中删除商品功能说明:当用户想要从购物车中删除所买商品时,在首页左下方单击相应商品的删除链接,转向 DeleteFromCart并传要删除的商品id ,该Servlet负责将购物车实例从 session中取出,将用户指定

11、id的商品从购物车中删除最后,将购物车存回session 并转回首页。图5-6-1从购物车中删除商品活动图图5-6-2从购物车中删除商品顺序图描述编号,名称,类型,描述1,Index.jsp,页面文件首页页面2,DeleteFromCart,Servlet,执行删除操作的 Servlet3,Session,Session 对象,当前用户的 session7.确认购买操作功能说明:当用户购买完商品后,执行购买操作,结帐当前购物车,修改当前用户余额,修改库存余额,将购买记录存进数据库中。图5-7-1确认购买操作活动图图5-7-2确认购买操作顺序图描述编号,名称,类型,描述1,Index.jsp,页

12、面文件首页页面2,ajax.js,Js文件所有的javascript 函数文件3,BuyComms,Servlet,执行确认购买操作4,Session,Session对象,当前用户的 session5,Dao,类,数据库操作类附录.AJAX分页显示原理:用户点击要显示的页数链接后,调用相应的ajax处理函数,该函数将页数作为参数传递Z后台servlet进行处理,在该后台 servlet中,将根据页数信息对数据进行加工,从数据库中取出对应页上应该显示的商品信息,根据页面生成规则生成 html页面代码,并将这些代码回传出去,ajax的接收处理函数接收到页面代码后,调用相应标记的innerHTML

13、方法改变显示的内容完成分页显示操作。图附录-1.虚拟购物车类代码分析Cart类:购物车类packagecom.mjpc.util;importjava.util.Collection;importjava.util.HashMap;importjava.util.Iterator;importcom.mjpc.data.NgwcCommodities;publicclassCart购物车中的商品集合 淇各个项目以 BeanItemprivateintNumOfCart;/ 购物车中的商品总数HashMapcart;类对象形式存在Stringcartid;/* 购物车的id号,本例中并没有使用,

14、其它应用中可用其作为商品的订单号(可通过sessionid 或其它方式获取)*/publicCart()/购物车类的构造方法,初始化一个购物车NumOfCart=0;cart=newHashMap();cartid=;publicHashMapgetCart()returncart;publicvoidsetCart(HashMapcart)this.cart=cart;publicStringgetCartid()returncartid;publicvoidsetCartid(Stringcartid)this.cartid=cartid; publicintgetNumOfCart()r

15、eturnNumOfCart;)publicvoidsetNumOfCart(intnumOfCart)NumOfCart=numOfCart;)publicvoidaddItem(Integerid,NgwcCommoditiescomm,intnum)向购物车中添加一个商品/如果购物车中没有当前 id的商品则新添加一个商品项目,购物车商品数量加一if(!this.cart.containsKey(id)BeanItemsitem=newBeanItems(comm,num);this.cart.put(id,item);this.NumOfCart+;else/如果当前购物车中存在当前id

16、的商品则在原有项目的基础上购买数量更新购物车BeanItemsitem=(BeanItems)cart.get(id);item.setItemNum(item.getItemNum()+num);this.cart.put(id,item);publicvoidremoveItemByNum(intid)/删除购物车中key为id的项目,购物车中商品数量减一 if(this.cart.containsKey(id) this.cart.remove(id);this.NumOfCart-;) ) publicCollectiongetAllItems()/得到购物车中的所有商品returnt

17、his.cart.values(); ) publicdoublegetSum()/ 得到购物车中商品的总价格 doublesum=0;Iteratorit=this.cart.values().iterator();while(it.hasNext()BeanItemsitem=(BeanItems)it.next();sum+=item.getItemPrice();) returnsum;) )BeanItems 类:购物车中的商品以 BeanItems对象的形式存储package com.mjpc.util;import com.mjpc.data.NgwcCommodities;pu

18、blicclass BeanItemsprivateint itemNum;/当前商品的购买数量private NgwcCommoditiescomm;/购买的具体的商品privatedouble itemPrice;/当前商品的价格 (数量*单彳)public BeanItems()/初始化一个购物车中的商品itemNum=0;comm= new NgwcCommodities(); public NgwcCommoditiesgetComm() return comm;publicvoid setComm(NgwcCommoditiescomm) this .comm=comm;publicint getItemNum() return itemNum;publicvoid setItemNum( int itemNum)this .itemNum=i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论