




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新 乡 学 院 毕 业 论 文论文题目基于JAVAEE的当当网站的开发院(系)名称计算机与信息工程学院专业名称软件技术班 级10级软件技术一班学生姓名学 号指导教师姓名摘要:电子商务系统(在线购物平台)在Internet中的应用已经非常广泛,例如我们熟知的淘宝网、当当网等。随着网络信息化的飞速发展和普及,网上购物已经成为一种现代生活的时尚,也给人们的生活带来了非常大的方便性。此篇论文主要介绍一款模拟了当当网系统部分功能的软件。该网站使用javaee、struts2、MySQL数据库、jQuery、Hibernate、MyEclipse开发环境开发完成,采用了先进的MVC设计模式,降低了各个组件之间的耦合度,使我们所设计的当当网站更加便于维护和管理。当当网实现了用户注册和登录,主界面和类别浏览,商品购买、数量变更及删除,订单确认、填写送货地址、生成订单等功能。关键词: MVC JSP MYSQL jQuery 当当网 Abstract:Electronic commerce system (online shopping platform) in Internet application has been very extensive, such as we are familiar with , etc.With the rapid development of network technology and popularization, online shopping has become a fashion in modern life, but also to the peoples life to bring the convenience of very large.This paper introduces a simulation of the functional part of system software. This site uses JavaEE, Struts2, MySQL database, jQuery, Hibernate, MyEclipse development environment developed, using the MVC advanced design mode, reduce the coupling degree between each component, so we design when the site more convenient maintenance and management.D realizes the user register and login, the main interface and category browsing, the purchase of goods, quantity change and delete, order confirmation, fill in the delivery address, generating orders and other functions.Key words: MVC JSP MYSQL jQuery D目录一、引言4二、系统分析4(一) 需求性分析4(二) 可行性分析4三、系统总体设计4(一)项目规划5(二)功能模块5(三)系统功能结构图6(四)数据库设计7四、当当网站的设计流程13(一)用户注册流程13(二)用户登录流程16 (三)产品浏览流程19(四)购物车20(五)订单流程22五、开发小结24六、参考文献24七、致谢25一、引言网络技术的发展越来越成熟,也越来越贴近人们的日常生活。人们通过网络来获取信息、传递信息、发布信息,通过网络来寻人、交友、相亲,通过网络来进行交易、销售、转账等等。所有这些方面每时每刻都在我们的身边发生,尤其是网上购物这类在线购物平台,受到了广大消费群体的喜爱。它彻底改变了人们以往传统的消费模式,只要你打开电脑,轻轻点击鼠标,足不出户就能买到经济又实惠的产品。网络发展的好处之一就是给人们的生活提供了很大的方便,当今社会网上购物已经非常普遍二、系统分析(1) 需求性分析当当网购物平台,提供高质量,更快捷,更方便的购物方式,不仅可以用于商品的在线购买功能的实现,而且网站式购物对商品的管理更加合理化,信息化,销售商品的同时还具有用户的管理、购物车、订单管理等功能,非常丰富的网站内容。本系统分为已登录用户和未注册用户即游客,网站会根据不同等级的用户在购买商品时享受不同的优惠政策。游客只能在系统中查看商品信息,进行商品的订购。但是不能进行结算,但享有本地购物车保存功能,用户将自己需要的商品放入购物车中,在确认之前,可以对购物车中的商品进行二次选择。在用户确认购买后(选择购物车中所有商品),系统会为注册用户生成购物订单。通过购物车可以一次性批量购买多个商品,并且无需记下订单即可在你的电脑上随时保存和查看你想购买的商品,总之购物车为广大用户带来了便利,注册用户在购物过程中或者购物结算结束后,可以注销自己的帐号,以保证帐号的安全。(2) 可行性分析 随着人们生活水平的提高,Internet技术发展的日趋完善,我国的网民数量也在不断增加。在网络操作和使用得以大众化的同时,人们对新鲜事物的需求也日趋增加,这个时候就需要一种更为便利的购物方式来满足人们日益增长的购物需求,基于此我们设计了当当网系统。本系统既满足了宅男宅女们的需求,也为忙碌的工作人群节省了购物的时间,网上购物还有一个便利就是购买的东西会比商场里买的更实惠。如今,网上购物已成为了电子商务发展的一个必要的产物,它既代表着科技的进步,也为人们带来了不可预知的好处,与此同时还间接地让五湖四海的人们有了一个交流商品心得的平台。设计和实现当当网系统的主要目的在于为各类人群提供一个在网上购书的平台,以满足人们的需求。三、系统总体设计(一)项目规划当当网站是一个在功能上比较完备的在线购物平台。整个网站将分为用户管理、产品浏览、购物车、订单生成四个比较大的子项。1、 用户管理子项用户管理子项将实现以下功能需求:用户注册、验证码邮件发送、用户登录等。2、 产品浏览子项产品浏览子项将实现以下功能需求:主界面的显示、用户登录状态的变更、下级产品分类浏览等。3、 购物车子项购物车子项将实现以下功能需求:产品购买与显示、数量变更及删除、价格统计、购物产品恢复等。4、 订单生成子项订单生成子项将实现以下功能需求:订单确认、填写送货地址、生成订单等。(二)功能模块当当网站是一个在线购物平台。本文详细论述了当当网站的视图显示、流程控制、业务逻辑模型和数据模型的设计处理等。该网站可以提供用户注册登录、邮件自动发送、显示各类图书的上架信息、热卖排行、类别清单、购物车管理、订单管理等功能。以上大部分功能都是在用户登录状态下起作用的,非注册用户只能进行页面产品浏览等基本功能。其中用户管理模块并非作为本网站的主功能部分出现,后台管理只是网站需要时添加的,在后面的设计流程中会简单提及。此外,它还提供事务管理功能,采用拦截器组件实现,这在并发控制中保证数据的完整性与安全性方面起到很大的作用。具体功能的对应实现如下表所示:表1 网站功能表Entity实体对象User(用户)Product(产品)Category(类别)Book(图书)Cart(购物车)Order(订单)Method功能方法Regist(注册)emailUnique(唯一性)verifyCode(验证码)verifyLogin(登录验证)getProducts (产品集)getHots(热销书)getCategorys(类别清单)cates(pid)(二级类别)Booklist(分页)getBooks(图书集)Buy(购买)deletePro(删除)modifyPro(修改)recoveryPro(恢复)saveToOrder(存入订单)getOrder(获取订单)(三)系统功能结构图当当网站网站主要功能模块订单生成注册登录购物车产品浏览新书热卖榜编辑推荐栏热销图书栏左侧类别栏新上架图书图1 当当网功能结构图(四)数据库设计本系统数据库采用mysql数据库,系统数据库名称为dang。下面主要介绍数据库整体设计、数据库列表、逻辑结构设计、物理结构设计。物理结构设计是对8张主要表结构的介绍。这8张表分别是.d_user(用户信息表)、d_receive_address(送货地址信息表)、d_category(类别信息表)、d_book(图书信息表)、d_product(产品信息表)、d_category_product(类别和产品对应关系表)、d_order(订单信息表)、d_item(订单明细表)。用户信息表存储了用户信息;送货地址信息表存储了送货地址信息;类别信息表存储了图书的类别信息;图书信息表存储了图书的特有信息;产品信息表存储了各类产品的共通信息字段;类别和产品对应关系表存储了类别和产品之间的包含关系;订单信息表存储了订单信息;订单明细表存储了订单中所购买的商品信息。1、数据库整体设计数据库的整体E_R设计图如下所示:图2 数据库E_R图2、数据库列表表2 数据库列表序号关系名称描述1用户信息注册用户的邮箱、密码、等级、IP等信息2送货地址信息包含送货人、送货地址、用户联系方式等信息3类别信息产品显示顺序、中英文名称、所属父类等信息4图书信息图书作者、出版社、作者简介、目录等信息5产品信息产品名称、描述、价格、产品图片等信息6类别和产品对应关系产品ID、类别ID等信息7订单信息用户ID、订单时间、总价、送货地址等信息8订单明细产品名称、价格、购买数量、总价等信息3、逻辑结构设计表3 逻辑结构设计序号关系名称关系的属性1用户信息ID、邮箱、昵称、密码、等级、验证状态、验证码、最后登录时间、IP2送货地址信息ID、用户ID、送货人、送货地址、邮政编码、手机号、座机号3类别信息ID、显示顺序、英文名、中文名、描述、父类项4图书信息书籍作者、出版社、-出版时间、字数、版次、总页数、印刷时间、印次、书籍编号、作者简介、目录5产品信息ID、产品名字、产品描述、添加时间、固定价格、当当价、关键搜索、是否删除、产品图片6类别和产品对应关系ID、产品ID、类别ID7订单信息用户ID、用户状态、订单时间、订单描述、总价、送货地址、送货名字、邮编、手机号、座机号8订单明细ID、订单ID、产品名称、当当价、购买数量、总价4、物理结构设计表4 用户表表名d_user实体名称用户表主键id序号字段名称字段说明类型位数属性备注1id用户idint12非空标识2email邮箱varchar50非空3nickname昵称varchar50空4password密码varchar50非空5user_integral等级int12非空6is_email_verifyemail验证char3空7last_login_time登录时间bigint20空8last_login_ip登录IPvarchar15空表5 送货地址表表名d_receive_address实体名称送货地址表主键id序号字段名称字段说明类型位数属性备注1ididint12非空标识2user_id用户idint11非空3receive_name送货人varchar20非空4full_address送货地址varchar200非空5postal_code邮政编码varchar8非空6mobile手机号varchar15空7phone座机号varchar20空表6 类别表表名d_category实体名称类别表主键id序号字段名称字段说明类型位数属性备注1ididint12非空标识2turn显示顺序int10非空3en_name英文名varchar200非空4name中文名varchar200非空5description种类描述varchar200空6parent_id父类idint10空表7 图书表表名d_book实体名称图书表主键id序号字段名称字段说明类型位数属性备注1id用户idint12非空标识2author作者varchar200非空3publishing出版社varchar200空4publish_time出版时间bigint20非空5word_number字数varchar15空6which_edtion版次varchar15空7total_page总页数varchar15空8print_time印刷时间int20空9print_number印次varchar15空10isbn书籍编号varchar25空11author_summary作者简介text默认非空12catalogue目录text默认非空表8 产品表表名d_product实体名称产品表主键id序号字段名称字段说明类型位数属性备注1id用户idint12非空标识2product_name产品名字varchar100非空3description产品描述varchar100空4add_time添加时间bigint20空5fixed_price固定价格double默认非空6dang_price当当价格double默认非空7keywords关键搜索varchar200空8has_deleted是否删除int1非空9product_pic产品图片varchar200空表9 类别和产品对应关系表名d_category_product实体名称类别和产品对应关系表主键id序号字段名称字段说明类型位数属性备注1ididint12非空标识2product_id产品idint10非空3cat_id类别idint10非空表10 订单表表名d_order实体名称订单表主键id序号字段名称字段说明类型位数属性备注1ididint10非空标识2user_id用户idint10非空3status用户状态int10非空4order_time订单时间bigint20非空5order_desc订单描述varchar100空6total_price总价double默认非空7receive_name送货名字varchar100空8full_address送货地址varchar200空9postal_code邮政编码varchar8空10mobile手机号varchar20空11phone座机号varchar20空表11 订单明细表表名d_item实体名称订单明细表主键id序号字段名称字段说明类型位数属性备注1ididint12非空标识2order_id订单idint10非空3product_id产品idint10非空4product_name产品名字varchar100非空5dang_price当当价double默认非空6product_num产品数量int10非空7amount总价double默认非空四、当当网站的设计流程(一)用户注册流程用户填写注册信息-自动进行合法性验证-用户信息持久化并发送邮箱验证码-邮箱验证-注册成功具体流程图:注册信息合法性信息持久化Y N邮箱验证注册成功Y N 图3 用户注册流程图注册页面如下:图4 用户注册页面图核心代码为:/邮箱格式验证 Var patt=/b(_A-Za-z0-9-+(._A-Za-z0-9-+)*(A-Za-z0-9-)+(.A-Za-z0-9-+)*(.A-Za-z0-92,)|(.A-Za-z0-92,.A-Za-z0-92,)$)b/; if(!patt.test(txtEmail) $(#).html(邮箱格式错误); return false; /唯一性验证$.post(validEmail.action, email:txtEmail, function(data) if(data) $(#).html (); else $(#).html(); flag.email=true; ); );/密码验证 var pwdreg=/A-Za-z0-9!#$%&*.6,22$/; if(!pwdreg.test(txtpwd) $(#).html(密码格式错误); flag.password=false; else $(#).html(); flag.password=true; ); );/邮箱验证码验证public String execute() throws Exception UserDAO userdao=new HibernateUserDAO(); if(userdao.findByEmail(email)=null) ok=false;/可用 else ok=true;/不可用 return Action.SUCCESS; (二)用户登录流程登录信息-合法性验证-邮箱验证状态-登录成功具体流程图:登录信息合法性验证状态Y N登录成功Y 邮箱验证N 图5 用户登录流程图登录界面如下:图6 用户登录界面图核心代码为:/邮箱、密码是否正确public String verifyLogin(String name, String password)IUserDAO dao = (IUserDAO)Factory.newInstance(IUserDAO);User user = dao.findByEmail(name);if(user = null | !user.getPassword().equals(EncryptUtil.md5Encrypt(password)request.put(login_msg, 邮箱或密码错误);return login_jsp;/邮箱是否验证if(user.getIsEmailVerify().equals(N)session.put(user, user);request.put(error, 您还没有进行邮箱验证,请输入您的验证码);/返回邮箱验证界面return verify_jsp;else/登录成功,进入主界面return main_jsp;(三)产品浏览流程main.jsp-编辑推荐;main.jsp-热销图书;main.jsp-最新上架图书 ;main.jsp-新书热卖榜main.jsp-分类浏览-子类别分页显示具体流程图:热销图书分类浏览编辑推荐最新上架main.jsp编辑推荐子类别分页图7 产品浏览流程图产品浏览界面如下:图8 产品浏览界面核心代码为:/新书热卖IMainDAO dao = new MainImplDAO();List allHots = new ArrayList();long now = System.currentTimeMillis() + 30*24*60*60*1000;for(int i=0; inow)allHots.add(dao.findHots().get(i);setNewhots(allHots);return main_new_hot;/查询热卖图书信息列表public List findHots() throws ExceptionList hots = new ArrayList();Connection conn = DBUtil.getConnection();PreparedStatement ps = conn.prepareStatement(getHots);ResultSet rs = ps.executeQuery();while(rs.next()Product p = new Product(rs.getInt(id),rs.getString(product_name),rs.getString(description), rs.getLong(add_time), rs.getDouble(fixed_price), rs.getDouble(dang_price), rs.getString(keywords), rs.getInt(has_deleted), rs.getString(product_pic);p.setNum(rs.getInt(product_num);hots.add(p);return hots;/显示热卖图书名称$productName /新书上架IMainDAO dao = new MainImplDAO();products = dao.newProducts();return main_new;/查询新书信息public List newProducts() throws ExceptionList newProducts = new ArrayList();Connection conn = DBUtil.getConnection();PreparedStatement ps = conn.prepareStatement(getProducts);ResultSet rs = ps.executeQuery();while(rs.next()newProducts.add(new Product(rs.getInt(id), rs.getString(product_name), rs.getString(description), rs.getLong(add_time), rs.getDouble(fixed_price), rs.getDouble(dang_price), rs.getString(keywords), rs.getInt(has_deleted), rs.getString(product_pic);return newProducts;/显示新书信息 $productName定价:¥$fixedPrice当当价:¥$dangPrice/热销图书IMainDAO dao = new MainImplDAO();List newhots = new ArrayList();for(int i=0; i4; i+)newhots.add(dao.findHots().get(i);setHots(newhots);return main_hot;/分类浏览IMainDAO dao = new MainImplDAO();List all = dao.findCategorys();categorys = findByParentId(1, all);for(Category cat : categorys)cat.setSubItems(findByParentId(cat.getId(),all);return main_category;/显示分类$$/分页s:if test=page 第$page页/共$pageNum页=pageNum (四)购物车是否含有商品-删除、修改、恢复-判断是否登录-结算具体流程图:购物车空否删、改结算N形成订单Y 登录界面NY 图9 购物车流程图购物车界面:图10 购物车界面核心代码为:/添加到购物车if(cart = null)cart = (ICartService)Factory.newInstance(ICartService);cart.load(CookieUtil.findValue(cart, httpRequest);session.put(cart, cart);addState = cart.buy(pid);session.put(cart, cart);/删除,并添加到恢复栏cart.deletePro(pid);CookieUtil.addCookie(cart, cart.store(), response);for(CartItem item : cart.getItems()if(item.getIsDel().equals(N)items.add(item);continue;store.add(item);/恢复到购物车if(cart = null)cart = (ICartService)Factory.newInstance(ICartService);cart.recoveryPro(pid);(五)订单流程订单显示-填写送货地址-订单成功-继续浏览主界面订单显示购物车空否送货地N Y订单成功Y 主界面N图11 订单流程图订单界面为:图12 订单送货地址界面核心代码为:/地址下拉列表选址实现ReceiveAddress receive = dao.getReceives(user.getId();if(re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电焊相关知识培训课件
- 北京养老护理员考试题及答案
- 高炉炼铁基础知识培训内容
- 北电编导模拟考试题库及答案
- 海南化学会考试题及答案
- 幼儿考试题及答案
- 高校礼仪培训课件
- 电源性能知识培训课件
- 高效电机基础知识培训课件
- 2025年电子液压万能试验机项目立项申请报告
- 食品行业质量控制管理制度
- (完整版)康复诊疗指南及规范
- 五年级下册黑布林英语阅读10篇
- 2025届四川省宜宾市叙州区二中生物高一第一学期期末学业水平测试试题含解析
- 检验标本采集手册
- 陆上石油天然气长输管道建设项目安全设施设计编制导则(试行)2015
- 神经系统疾病概述课件
- 新高考背景下2025届高考地理一轮复习备考策略讲座
- 中医海外传播
- 文创产品国内外研究现状综述
- 中国古建筑文化与鉴赏智慧树知到期末考试答案章节答案2024年清华大学
评论
0/150
提交评论