




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着网络技术的发展,现在越来越多的人在网上进行购物,电子商城的需求变得很有必要,电子商城的实现,让人们可以直接在网上购买自己想要的东西,使人们的生活变得更加丰富多彩,也使人们的生活变得越来越方便,电子商城是对商品,注册用户进行管理的系统。本系统根据软件工程的设计思想,基于J2EE中STRUTS2,HIBERNET3.0,SPING2.0的框架技术,使用了JAVA编程语言和MYSQL数据库管理系统来实现。主要完成的功能有:用户信息管理,商品信息管理;在用户信息管理中包括普通用户与开店用户的注册与登录,他们的信息修改等功能;在商品信息管理中包括商品信息的查询,修改,删除,添加等功能。在本系统中采用B/S结构,将系统分为三层结构:表示层,业务逻辑层,数据层。在表示层,用STRUTS2来对JSP页面跳转进行管理;在业务逻辑层,使用bean对信息进行管理,通过一些接口和方法实现对业务逻辑的完成;在数据层,使用HIBERNET实现对数据的添加,删除,修改,查询;使用SPING框架对HIBERNET,STRUTS进行注入管理。关键词:用户信息管理,商品信息管理;B/S;bean STRUTS2,HIBERNET3.0,MYSQL 目录绪论需求分析系统简介系统功能总体设计详细设计4.1模块接口与实现4.2数据库的设计4.3系统功能实现4.3.1用户注册功能4.3.2用户登录功能4.3.3店铺管理功能4.3.4非开店用户业务4.3.5分页显示4.3.6字符处理5.结论参考文献 II绪论1. 在本系统中需要注意的问题包括:用户注册时怎么判断该用户已经注册;用户登录时需要注意用户是否已经登录;开店用户对商品的添加,删除,修改;非开店用户对商品的查询和对商品的留言。2. 提出你的问题和实现思路。怎么判断用户已经注册:由页面将填写的用户名交给后头数据层进行查询,判断用户是否注册,并在页面提示怎么判断用户已经登录:在所有涉及到用户的页面中都添加一个拦截器,判断用户是否已经登录开店用户对商品的管理:使用HIBERNET中的方法实现对数据的添加,删除,修改,查询。非开店用户的业务:使用HIBERNET的方法实现非开店用户对商品的评论,商品的购买,将其数据插入数据库中。对查询出来的结果进行分页显示:在数据库中的表中,有一些数据,在页面显示的时候需要分页显示出来,这样便于美观,也符合用户需求,在该功能实现的过程中,从数据库中查询出若干记录,交给分页处理程序处理,在页面通过分页处理程序所传递的参数进行分页显示,一次只显示分页处理程序中规定的记录数。购物车的实现:要实现购物车,必须在数据库中建立相应的数据库表,在页面点击加入购物车后,叫给购物车处理程序进行处理,在这过程中,调用数据层的插入操作,将获得的信息插入数据库。对页面字符的处理:在页面显示的过程中,有时会出现乱码的情况,这就需要对页面显示内容进行字符格式的转换,从数据层中查询出来的数据,都需经过字符处理程序处理后,再在页面进行现在,将字符处理程序定义成bean,他们公共类,因为都需要调用到它,这样的设计便于结构的清晰。在系统中都是通过定义结构与其相应的实现方法来对数据进行操作,将系统在实现逻辑上的分层效果,这样系统的结构清晰,便于扩展,另外对数据的操作过程中,都是对操作对象的集合进行的,有对象实体获得对象的详细信息,在数据层进行添加,删除,修改,查询时都是对对象实体进行操作,这种设计方式便于结构的清晰,也符合用户的需求。本系统的三层结构:图形界面 中间层 数据库业务逻辑层表示层数据访问层需求分析系统简介在本系统中,用户分为开店用户和普通用户,开店用户由普通用户注册后,进行店面管理页面进行开店,开店后进行对商品的添加,删除,修改,查询,也可以对店铺信息进行修改;非开店用户可以浏览商品信息,当需要对商品进行评论时需要注册,由注册页面填写信息进行注册,注册后,可以对商品进行购买和查询。系统流程图:系统功能用户注册功能:当用户注册时,在注册页面填写用户的信息,包括用户名,密码,真实姓名,性别,邮箱,地址等信息,填写完成后点击注册,将注册信息通过后头插入数据库,在这过程中需要判断用户名是否已经被注册过,需要将用户名交给后头进行查询,判断是否可以注册,并在页面显示出用户名是否可以注册,另外,密码信息不能为空,其他信息可以为空用户登录功能:用户登录是,填写用户名和密码,并进行验证密码是否正确,这需要通过对数据库中用户表的查询进行验证,等密码正确时登录成功,并跳到用户之前打开的页面,当密码不正确时,提示登录失败,依然显示登录页面重新登录,在登录页面中添加一个注册链接,方便用户重新注册用户店铺管理功能:当登录用户需要开店时,进入店铺管理页面,点击开店,填写店铺信息,包括店铺名,地址和对店铺的描述,开店后对商品进行添加,添加商品时,需要对商品进行分类,填写分类名称后进行添加商品,并填写商品的信息,包括商品名称,商品价格,商品数量,商品描述等;对商品删除时,由商品名称获得商品的所有信息,并通过后头进行删除操作;对商品进行修改时,填写修改信息,并通过后头进行更新操作;对商品查询时,通过填写商品名称进行查询,并由后头进行查询操作;对店铺信息进行修改时,填写修改信息,并通过后头进行更新操作。非开店用户的业务功能:非开店用户可以对商品进行评论和购买,对商品进行评论时,填写评论信息,并通过后头进行插入操作,将评论信息插入评论表中;对商品购买时,浏览商品的信息进行购买,购买过程中,将信息插入购买表中。对查询数据的分页显示:在数据库中的表中,有一些数据,在页面显示的时候需要分页显示出来,这样便于美观,也符合用户需求,在该功能实现的过程中,从数据库中查询出若干记录,交给分页处理程序处理,在页面通过分页处理程序所传递的参数进行分页显示,一次只显示分页处理程序中规定的记录数。购物车的实现:要实现购物车,必须在数据库中建立相应的数据库表,在页面点击加入购物车后,叫给购物车处理程序进行处理,在这过程中,调用数据层的插入操作,将获得的信息插入数据库。对页面字符的处理:在页面显示的过程中,有时会出现乱码的情况,这就需要对页面显示内容进行字符格式的转换,从数据层中查询出来的数据,都需经过字符处理程序处理后,再在页面进行现在,将字符处理程序定义成bean,他们公共类,因为都需要调用到它,这样的设计便于结构的清晰总体设计用户注册:新建一个JSP页面,由标签实现对信息的填写,并将填写的信息由标签提交给用户处理程序,在用户处理程序中调用用户在业务逻辑层中的方法实现注册,在业务逻辑层中,需要用到数据访问层对数据进行插入操作;在注册时判断用户名是否已经注册,需要从数据层中查询出用户名信息,判断用户名是否已经存在,惹存在,则注册失败,只有用户名可以注册时才能注册成功,表提示用户注册成功。用户登录:在用户登录的JSP页面,填写用户登录的用户名和密码,有页面标签实现,填写后提交给用户处理程序,用户处理程序调用业务逻辑层中对数据层用户信息的查询操作,对用户名和密码进行验证,如果正确,则登录成功,否则登录失败。用户店铺:开店用户进行开店时,填写店铺信息进行开店,有页面标签实现,并提交给店铺处理程序,店铺处理程序调用业务逻辑层中店铺的开店方法,这过程中需要对数据层进行插入操作;添加商品时,填写商品信息,有页面标签实现,并提交给商品处理程序,电泳业务逻辑层中对数据层的插入操作,完成商品的添加,并对商品进行分类,分类时,也需要对数据层进行插入操作;删除商品时,点击删除,在数据层中进行删除操作;修改商品信息时,填写商品修改信息,有页面标签实现,在商品处理程序中,调用数据层对数据的更新操作完成修改;修改店铺信息时,填写店铺修改信息,有页面标签实现,在店铺处理程序中,调用数据层对数据的更新操作完成修改;非开店用户的业务功能:非开店用户对商品进行评论时,填写评论信息,由页面标签实现,提交给商品处理程序,在商品处理程序中,调用数据层对数据的插入操作实现评论信息的插入;对商品购买时,点击购买,有页面标签实现,提交给商品处理程序,在商品处理程序中,调用数据层中队数据的插入操作。对查询数据的分页显示:在数据库中的表中,有一些数据,在页面显示的时候需要分页显示出来,这样便于美观,也符合用户需求,在该功能实现的过程中,从数据库中查询出若干记录,交给分页处理程序处理,在页面通过分页处理程序所传递的参数进行分页显示,一次只显示分页处理程序中规定的记录数。购物车的实现:要实现购物车,必须在数据库中建立相应的数据库表,在页面点击加入购物车后,叫给购物车处理程序进行处理,在这过程中,调用数据层的插入操作,将获得的信息插入数据库。对页面字符的处理:在页面显示的过程中,有时会出现乱码的情况,这就需要对页面显示内容进行字符格式的转换,从数据层中查询出来的数据,都需经过字符处理程序处理后,再在页面进行现在,将字符处理程序定义成bean,他们公共类,因为都需要调用到它,这样的设计便于结构的清晰详细设计4.1模块接口与实现actionDao daoimplserviceserviceimpluseractionuserdaouserdaoimpluserserviceuserserviceimplShopactionShopdaoShopdaoimplShopserviceShopserviceimplGoodsactionGoodsdaoGoodsdaoimplGoodsserviceGoodsserviceimpl4.2数据库的设计1、用户表:字段名说明类型是否为空主键默认值自动增长Id标识IntNOYes NullYesName用户名Varchar(30)NONONULLNOPassword密码Varchar(30)NONONULLNOType类型Varchar(20)NONONULLNOSex性别Varchar(5)YESNONULLNOPhone电话Varchar(15)YESNONULLNO2. 商店表:字段名说明类型是否为空主键默认值自动增长id标识IntNOYesNullYesbusinessid用户IDIntNONONullNOname名称Varchar(30)NONONullNOadress地址Varchar(30)NONONullNOjifen积分IntYESNONullNOmiaoshu描述Varchar(30)YESNONullNO3. 商品表:字段名说明类型是否为空主键默认值自动增长id标识IntNOYesNullYesgoodstypeid商品类型IntNONONullNOname名称Varchar(30)NONONullNOprice价格floatNONONullNOcount数量IntNONONullNOsoldcount卖出数量IntNONONullNOjifen积分IntNONONullNOdate日期dateNONONullNOuserid用户IntNONONullNOphotourl图片地址Varchar(30)NONONullNO4.商品类型表:字段名说明类型是否为空主键默认值自动增长id标识IntNOYESNullYESname名称Varchar(30)NONONullNOshopid商店IntNONONullNOcategoryid分类IntNONONullNO5.分类表:字段名说明类型是否为空主键默认值自动增长id标识IntNOYESNullYESname名称Varchar(30)NONONullNO6.评论表:字段名说明类型是否为空主键默认值自动增长id标识IntNOYESNullYEScontent名称Varchar(30)NONONullNOshopid商店IntNONONullNOauthorid分类IntNONONullNOdate日期dateNONONullNOtype类型Varchar(30)NONONullNO4.3系统功能实现4.3.1用户注册功能在用户注册页面register.jsp页面中,有html标签实现对信息的填写,并将填写的信息提交给useraction,在useraction中调用creatuser()方法创建新用户,在该方法中,需要用到userserviceimpl中的creatuser()方法,调用userdaoimpl中createntity()方法,将信息插入用户信息表中,但在注册过程中需要判断用户名是否已经被注册,在判断过程中,需要从数据库中查询该用户名是否已经存在,如果存在,则注册失败,否则,提示注册成功。public void createEntity(E entity) this.getHibernateTemplate().save(entity);判断是否已经注册public boolean exist(int entityid) String hql=from +clazz.getName().toString()+ where id=+entityid;if(this.getHibernateTemplate().find(hql).size()=0)return false;elsereturn true;4.3.2用户登录功能当用户登录时,在登录页面login.jsp中填写用户名和密码,调用useraction中login()方法,在该方法中,调用userserviceimpl中login()方法,在该login()方法中,需要用到isuserorpwd()方法验证用户密码是否正确,当密码正确时登录成功,否则登录失败。public User isUserorpwd(String name, String password) User user=this.getUserByName(name); if(user=null)return null; else if(user.getPassword().equals(password) return user; else return null; 4.3.3店铺管理功能当用户开店时,在店铺管理页面addshop.jsp页面中填写店铺信息,提交给shopaction中调用creatshop()方法创建新用户,在该方法中,需要用到shopserviceimpl中的creatshop()方法,调用shopdaoimpl中createntity()方法,将信息插入用户信息表中public void createEntity(E entity) this.getHibernateTemplate().save(entity);当用户添加商品信息时,在商品信息页面中填写商品信息,提交给goodsaction中调用addgoods()方法创建新用户,在该方法中,需要用到goodsserviceimpl中的addgoods()方法,调用goodsdaoimpl中createntity()方法,将信息插入商品信息表中public void createEntity(E entity) this.getHibernateTemplate().save(entity);当用户删除商品时,在商品浏览页面点击删除,提交给goodsaction中调用delete()方法创建新用户,在该方法中,需要用到goodsserviceimpl中的delete()方法,调用goodsdaoimpl中deleteentity()方法public void deleteEntity(E entity) this.getHibernateTemplate().delete(entity);当用户修改商品信息时,在商品信息页面填写修改信息,提交给goodsaction中调用update()方法创建新用户,在该方法中,需要用到goodsserviceimpl中的update()方法,调用goodsdaoimpl中updateentity()方法public void updateEntity(E entity) this.getHibernateTemplate().update(entity);当用户查询商品信息时,在查询页面填写商品名称进行查询,提交给goodsaction中调用get()方法创建新用户,在该方法中,需要用到goodsserviceimpl中的getgoodsbyid()方法,调用goodsdaoimpl中geteentity()方法public List getEntitys(String hql, int firstresult, int maxRecorders) Session session=super.getSession();List list= (List)session.createQuery(hql).setFirstResult(firstresult).setMaxResults(maxRecorders).list();return list;4.3.4非开店用户业务当非开店用户对商品进行评论时,在评论页面填写评论信息,提交给replyaction中调用reply()方法,在该方法中,需要用到replyserviceimpl中的reply()方法,调用replydaoimpl中createentity()方法将评论信息插入评论表中。public void createEntity(E entity) this.getHibernateTemplate().save(entity);当非开店用户对商品进行购买,点击加入购物车,提交给useraction,在useraction中调用goumai ()方法创建新用户,在该方法中,需要用到userserviceimpl中的goumai()方法,调用userdaoimpl中createntity()方法,将信息插入商品购买表中4.3.5分页显示在页面显示的时候,需要对查询出来的数据进行分页显示,在这过程中,输入商品名称进行查询,调用数据层中对商品的查询操作,查询出的是一个商品集合,包含了定义的个数的商品信息,交给分页处理程序处理,并规定在页面显示多少个商品信息,在页面中,通过处理程序的传递参数来获得页数,并将该页的商品信息按一定的布局显示出来Object obj=this.getStack().findValue(pageNo); pageNo = String.valueOf(Integer)obj); obj=this.getStack().findValue(total); total = String.valueOf(Integer)obj); StringBuffer perUrl=new StringBuffer(); if(includes!=null) String perm=includes.split(,); for(int i=0;iperm.length;i+) String permName=permi; Object obje=this.getStack().findValue(permName); String vType=obje.getClass().toString(); vType=vType.substring(vType.lastIndexOf(.)+1,vType.length(); perUrl.append(&+permName); if(vType.equals(String) String tmp= (String)this.getStack().findValue(permName); perUrl.append(=+tmp); else if(vType.equa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省住房和城乡建设厅科技创新平台管理办法(试行)
- 传染病宣传知识培训幼儿课件
- 2026届山西省霍州市煤电第一中学高三物理第一学期期末综合测试模拟试题
- 银行名单制管理办法
- 防火队内务管理办法
- 企业管理安全培训材料课件
- 有关巡察考试题库及答案
- 税收管理办法七十三条
- 2025年泌尿外科常见病例诊断与手术设计模拟测试卷答案及解析
- 乡村振兴与基层治理创新-洞察及研究
- 酒店薪酬管理制度细则
- 《年产量50万吨煤制乙二醇合成工段工艺设计》6400字(论文)
- 体育新课程标准2025版
- 成都建材使用一网通系统-建材代理商操作手册
- 幼小衔接音乐课件
- 2025年交管12123学法减分考试题库及答案
- 轨道交通电工基本技能与实训课件 项目1 城市轨道交通供电系统及职业岗位认知
- 博物馆与社区合作模式-深度研究
- 矿产品买卖合同
- 2025-2030年商用电磁炉系列行业跨境出海战略研究报告
- 猕猴桃工业流程
评论
0/150
提交评论